我有一個查詢找到從數據庫中院,與相關表中的一些額外數據一起的部分,具體如下:使用set ::提取物進行過濾的數據集
$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 ::提取物過濾我的結果集,以消除任何結果,其中MLS號碼無效,在這種情況下,意味着不完全6個數字:
$homes_data = Set::extract('/Home/[mls=/^[[:digit:]]{6}$/]', $homes_data);
與此問題是它失去了房地產經紀人和陣列的HighlightImage結果。所以:
是否有一個簡單的方法來重新這一點,以保持與有效的MLS有關的家庭數據?
失敗了,是否有辦法將條件「必須是數字和正好6位數的長度」放入SQL查詢中,最好是將它保持在整潔,習慣的CakePHP領域?
你不能在查詢中過濾它嗎? – kaklon 2011-03-08 09:49:39
@kaklon - 可能是個好主意。我不是100%確定的,但是如何在CakePHP中說出它。或者確實在MySQL中! – thesunneversets 2011-03-08 17:20:23
嗯,在MySQL中:從mls regexp'^ [[:digit:]] {6} $'的家中選擇mls;作品。也許我可以通過Cake來沒有太多的痛苦... – thesunneversets 2011-03-08 17:31:31