Cakephp db查询结果没有表名,只是MySQL中的简单结果?
发布时间:2020-12-13 22:54:40 所属栏目:PHP教程 来源:网络整理
导读:我正在使用cakephp,我有一个模特 $db = $this-getDataSource();$result = $db-fetchAll( 'SELECT table1.id,table1.title,table1.buy_url,table2.image_file as image,table3.category_id as maincategory,(table4.user_id = "71") AS isfavorite FROM table
我正在使用cakephp,我有一个模特
$db = $this->getDataSource(); $result = $db->fetchAll( 'SELECT table1.id,table1.title,table1.buy_url,table2.image_file as image,table3.category_id as maincategory,(table4.user_id = "71") AS isfavorite FROM table1 INNER JOIN ... LEFT JOIN ... LEFT JOIN ... where ...); return $result; 我得到这样的结果: { "table1": { "id": "132","title": "Awesome",},"table2": { "image": "image_25398457.jpg" },"table3": { "maincategory": "3" },"table4": { "isfavorite": "1" } } 但是我不想显示表格的名称,我更愿意通过以下方式获得结果: { "id": "132","image": "image_25398457.jpg" "maincategory": "3" "isfavorite": "1" } 我怎么能得到这个? 谢谢 ! 解决方法
从我所看到的,结果按表名分组.
最简单的选择是: $merged = call_user_func_array('array_merge',$result); 另一种选择是: $db = $this->getDataSource(); $result = $db->fetchAll( 'SELECT * FROM ( SELECT table1.id,(table4.user_id = "71") AS isfavorite FROM table1 INNER JOIN ... LEFT JOIN ... LEFT JOIN ... where ... ' ) as final_table ); return $result; 这就是为什么你只有这样的东西: { "final_table" : { "id": "132","image": "image_25398457.jpg" "maincategory": "3" "isfavorite": "1" } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |