是否可以从 cakePHP 中的很长的文本列中获取有限数量的字符串

is it possible to fetch limited number of string from very long text column in cakePHP

我正在使用 cakePHP。我有 services table,其中存在服务 namedetails 列。在 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);
}

其他帮助: