【问题标题】:cakephp get data from two tablescakephp 从两个表中获取数据
【发布时间】:2013-08-26 06:30:55
【问题描述】:

我有一个模型类 FoodItem,它需要通过加入表 menu_food_item 来检索数据。这是代码。

    $fooditems=$this->FoodItem->find('all',array('joins'=>array(array('table'=>'menu_food_items',
                                         'alias'=>'mfi',
                                         'type'=>'inner',
                                         'forignKey'=>false,
                                         'conditions'=>array('mfi.food_item_id=FoodItem.id','mfi.menu_id'=>$menu_id))),'fields'=>array('FoodItem.id','FoodItem.food_item_title','FoodItem.active','mfi.menu_id')));

我想得到带有结果的 menu_id。(来自 menu_food_item 表)这是 pr($fooditems);结果

Array
(
[0] => Array
    (
        [FoodItem] => Array
            (
                [id] => B102
                [food_item_title] => Prown cocktail
                [active] => 1
            )

        [mfi] => Array
            (
                [menu_id] => 2
            )

    )

)

但 json_encoded 结果仅显示 FoodItems 表数据。没有 menu_food_item(mfi) 数据。这是为什么?我想用结果显示 menu_id

【问题讨论】:

  • 如何将食物编码为 json。你能在这里放一些代码吗
  • $fooditems=Set::extract('/FoodItem/.', $fooditems); $response=array('fooditems'=>$fooditems); return new CakeResponse(array('body' => json_encode($response)));

标签: cakephp


【解决方案1】:

你在这里提取食物,所以它会给出一个这样的数组

Array
(
[0] => Array
    (
        [FoodItem] => Array
            (
                [id] => B102
                [food_item_title] => Prown cocktail
                [active] => 1
            )
    )
)

请删除$fooditems=Set::extract('/FoodItem/.', $fooditems);,然后尝试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多