是否可以从 cakePHP 中的很长的文本列中获取有限数量的字符串
is it possible to fetch limited number of string from very long text column in cakePHP
我正在使用 cakePHP。我有 services
table,其中存在服务 name
和 details
列。在 details
列中,每项服务的文本都很长。因此,在那些 services
页面的列表中,我显示了所有 services
,包括来自 details
列的 first 200
字符串。
但问题是,我正在从 details
列获取所有数据,但只显示 first 200 word
。那么有什么方法可以默认从每个 details
列中只获取那些 first 200
单词。
这就是我显示每个详细信息列的前 200 个单词的方式。
<?php
$onlyText= substr($service->details, 0, 200). ' ...';
echo $onlyText;
?>
这就是我从 services
table.
获取数据的方式
$services = $this->Services->find('all')->get()
我没有从查询端尝试任何东西,因为到目前为止我没有任何办法。
尝试:
$services = $this->Services
->find()
->select(['id', 'title', 'created'])
->select(['truncated_details' => 'SUBSTRING(details, 0, 200)']);
// SELECT id, AS Services_id, SUBSTRING(details, 0, 200) AS truncated_details ...
然后使用:
foreach ($services as $service) {
echo h($service->truncated_details);
}
其他帮助:
我正在使用 cakePHP。我有 services
table,其中存在服务 name
和 details
列。在 details
列中,每项服务的文本都很长。因此,在那些 services
页面的列表中,我显示了所有 services
,包括来自 details
列的 first 200
字符串。
但问题是,我正在从 details
列获取所有数据,但只显示 first 200 word
。那么有什么方法可以默认从每个 details
列中只获取那些 first 200
单词。
这就是我显示每个详细信息列的前 200 个单词的方式。
<?php
$onlyText= substr($service->details, 0, 200). ' ...';
echo $onlyText;
?>
这就是我从 services
table.
$services = $this->Services->find('all')->get()
我没有从查询端尝试任何东西,因为到目前为止我没有任何办法。
尝试:
$services = $this->Services
->find()
->select(['id', 'title', 'created'])
->select(['truncated_details' => 'SUBSTRING(details, 0, 200)']);
// SELECT id, AS Services_id, SUBSTRING(details, 0, 200) AS truncated_details ...
然后使用:
foreach ($services as $service) {
echo h($service->truncated_details);
}
其他帮助: