0

假设我的表是包含(id、title、user_id、created、modified)的博客,我想在下拉列表中显示所有博客,所以我运行以下查找条件,

$this->Blog->find('list',array('fields' => array('Blog.id','Blog.title'), 'conditions' => array('Blog.user_id' => $user_id)));

我想在上面的语句中将标题限制为 50 个字符。不想对结果进行循环,然后使用 php 的 substr 函数需要 sql 方式来限制标题。有小伙伴可以帮忙吗。。

4

1 回答 1

0

CakePHP 虚拟字段是你的朋友。对于 SQL 查询,使用SUBSTR 即可

您可以在博客模型中声明一个虚拟字段: public $virtualFields = array('short_title' => 'SUBSTR(Blog.title, 1 , 50)');

然后在您的发现中搜索 Blog.short_title 而不是 Blog.title。

于 2013-07-23T08:55:40.980 回答