在Laravel中使用DB查询中的参数和参数绑定时遇到了问题。
我得到这个错误:
错误:"未找到列:1054 "on子句"中的列"3"未知"
以下是查询的一部分:
->join('foo AS f1', function($join) use ($bar)
{
$join->on('f1.foo', '=', 'f2.foo')
->on('f1.bar', '=', $bar);
})
如果我这样做,它的工作:
->on('f1.bar', '=', DB::raw($bar));
这个问题的解决方案是什么?我当然也想使用参数绑定。但是,当我这样做时:
->on('f1.bar', '=', ':bar', ['bar' => $bar]);
我得到这个:
在Grammar.php第196行出现错误异常:
数组到字符串的转换
1条答案
按热度按时间4nkexdtk1#
当你用join连接两个表时,你必须指定列名($bar必须等于列名字符串)。因此,如果你想发送一些参数数据,你必须使用
where
而不是on
。