gpt4 book ai didi

mysql - 使用 Set::extract 过滤数据集的一部分

转载 作者:行者123 更新时间:2023-11-29 03:46:03 25 4
gpt4 key购买 nike

我有一个查询要从数据库中查找 Homes,以及相关表中的一些额外数据,如下所示:

$homes_data = $this->Home->find('all',array(
'conditions'=>$conditions,
'order'=>array('Home.mls_status ASC','Home.num DESC'),
'contain'=>array('Realtor.show_price','Realtor.show_address','HighlightImage.num')
))

此时,我希望能够使用 Set::extract 来过滤我的结果集,以删除 MLS 编号无效的任何结果,在这种情况下,这意味着不完全是 6 位数字:

$homes_data = Set::extract('/Home/[mls=/^[[:digit:]]{6}$/]', $homes_data);

问题是它丢失了数组的 Realtor 和 HighlightImage 结果。所以:

是否有一种简单的方法来重铸它,以保留具有有效 MLS 的家庭的相关数据?

做不到这一点,有没有办法将条件“必须是数字且长度恰好为 6 位数字”处理到 SQL 查询中,最好同时将其保持在整洁、惯用的 CakePHP 范围内?

最佳答案

太阳落山

如果不能选择在数据输入期间进行验证,则可能需要编写自定义模型函数来保持您的 Controller 精简。您应该能够为模型设置验证规则,并在此自定义函数中手动使用验证。

编辑0:另一种方法可能是将现有数据映射到您最喜欢的一组值。

关于mysql - 使用 Set::extract 过滤数据集的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5225389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com