当我使用带有whereIn
的二维数组时,我得到了一个数组到字符串的转换异常。
可以像使用codeigniter一样使用带有2d数组的whereIn吗?
修改
我还有第二个问题。 当我使用带有数组的whereIn时,我没有得到任何结果。 但是当我在phpmyadmin中使用查询时,我得到了一个结果。
Array ( [0] => Array ( [query] => select * from `tab_articles` inner join `tab_categories` on `tab_categories`.`category_id` = `tab_articles`.`category_id` where `article_id` in (?) [bindings] => Array ( [article_id] => 4 ) [time] => 0.79 ) )
数组不为空。该ID存在于数据库中,并使用get()
来获取结果,但数组中没有任何内容。这很奇怪。
答案 0 :(得分:1)
我不这么认为。
但是,如果您的数组是Eloquent Collection,则可以使用modelKeys函数。
$query->whereIn($collection->modelKeys());
此函数返回模型主键的数组。
https://github.com/laravel/framework/blob/master/src/Illuminate/Database/Eloquent/Collection.php#L92