如何解决CakePHP中的虚拟字段上的子字符串+ Concat-可能吗?
| 这似乎是一个简单的问题,但我无法解决它。我创建了一个包含名称和地址的虚拟字段:var $virtualFields = array(
\'name_address\' => \'CONCAT(Venue.name,\" - \",Venue.address)\'
);
有没有办法在这个上使用SUBSTR
? (PHP或MYSQL很好-最佳/可行)。
我已经试过了(无济于事):
\'name_address\' => \'SUBSTR(CONCAT(Venue.name,Venue.address),50)\'
我还在CONCAT中的各个字段上尝试了SUBSTR。
解决方法
这绝对没有问题。唯一的错误是,您想到了MySQL中的SUBSTRING函数就像PHP中的SUBSTRING函数那样工作,计数从零开始。
但是,由于这不是PHP,因此您必须从
1
开始计数,并且一切都会正常进行。
像这样使用您的virtualField,它应该可以像您想要的那样工作:
var $virtualFields = array(
\'name_address\' => \'SUBSTRING(CONCAT(Venue.name,\" - \",Venue.address),1,50)\'
);
另外,请阅读MySQL手册中的SUBSTRING函数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。