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

mfuanj7w  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(147)

我正在使用cakePHP。我有一个services表,其中有服务namedetails列。在details列中,我为每个服务提供了很长的文本。因此,在这些services页面的列表中,我显示了所有services,包括details列中的first 200字符串。但问题是,我正在从details列中提取所有数据,但只显示first 200 word。那么,有没有办法在默认情况下从每个details列中只提取那些first 200字呢?这就是我如何显示每个details列中的前200个字。

<?php
   $onlyText= substr($service->details, 0, 200). ' ...';
   echo $onlyText;
   ?>

这就是我从services表中获取数据的方法。
$services = $this->Services->find('all')->get()
我还没有尝试任何从查询方面,因为我没有得到任何方式到目前为止。

af7jpaap

af7jpaap1#

试试看:

$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);
}

其他帮助:

相关问题