2016-04-08 11:27:17 6263次浏览 2条回答 0 悬赏 20 金钱
$models = ( new \yii\db\Query() )
-> select ( [ 'id', 'parent_id', 'a.id', 'a.title' ] )
-> from ( 'table1 as main' )
-> leftJoin ( 'table2 as a' , 'a.id = main.id' )
-> all();

我是这样链接两个数据表的,但是呢,
前台调用的时候

foreach($models as $model){
$model['title'];
}

总是提示:Undefined index: title

自己解决了

  • 回答于 2016-04-08 11:32 举报

    先var_dump出来看看是什么东西,看查询结果是否是自己期望的

    4 条回复
    回复于 2016-04-08 11:33 回复

    打印出来是空的

    回复于 2016-04-08 14:03 回复

    如果说这个字段都没有,那查询有问题。你的查询应该不对,开启debug模式,看看输出的sql语句是否是你所期望的语句

    回复于 2016-04-08 14:45 回复

    已经进入错误页面了,还怎么进去debug呢

    回复于 2016-04-08 15:31 回复

    你的错误应该在foreach中抛出的吧,那你不foreach就可以拉,只是没东西输出嘛,但是实际上语句还是发出去了啊

  • 回答于 2016-04-08 18:00 举报

    select ( [ 'id', 'parent_id', 'a.id', 'a.title' ] )
    换成
    select ( [ 'main.id', 'main.parent_id', 'a.id', 'a.title' ] )

    2 条回复
    回复于 2016-04-11 08:59 回复

    你这样根本就不对,换汤不换药

    回复于 2016-04-12 18:34 回复

    看SQL语句吧

您需要登录后才可以回答。登录 | 立即注册
drykiss
副总裁

drykiss

注册时间:2015-10-20
最后登录:2018-05-04
在线时长:51小时27分
  • 粉丝6
  • 金钱4520
  • 威望0
  • 积分5030

热门问题