TP 框架多表查询where()的写法问题

如图 加入了$serch_val这个条件后就报错了

clipboard.png

clipboard.png

$result = M()->table(array('newcrawl.right_protect_orgin_relation'=>'a','newcrawl.right_protect_orgin'=>'b','newcrawl.right_protect_result'=>'c'))
                         ->field('a.orgin_id,a.task_name,b.status,c.status as re_status,c.title')
                         ->where('a.orgin_id=b.id AND a.orgin_id=c.orgin_id AND b.status='.$status.' AND a.task_name like %'.$serch_val.'%')
                         ->select();
                         

求教,这个like条件应该怎样加才对啊?

阅读 3k
2 个回答

把条件这个条件单独拿出来试试
$where['a.task_name'] =array('like',"%".$serch_val."%");

$result = M()->table(array('newcrawl.right_protect_orgin_relation'=>'a','newcrawl.right_protect_orgin'=>'b','newcrawl.right_protect_result'=>'c'))
                         ->field('a.orgin_id,a.task_name,b.status,c.status as re_status,c.title')
                         ->where('a.orgin_id=b.id AND a.orgin_id=c.orgin_id AND b.status='.$status)
                         ->where($where)
                         ->select();

这么复杂的sql 语句为什么不用原生的呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题