0

で 2 次元配列を使用するとwhereIn、配列から文字列への変換例外が発生しました。

codeigniter のような 2 次元配列で whereIn を使用することは可能ですか?

編集:

そして、2 つ目の質問があります。配列で 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()、結果を取得するために使用されますが、配列には何もありません。それは奇妙です。

4

1 に答える 1

1

私はそうは思わない。

ただし、配列が Eloquent コレクションの場合は、modelKeys 関数を使用できます。

$query->whereIn($collection->modelKeys());

この関数は、モデルの主キーの配列を返します。

https://github.com/laravel/framework/blob/master/src/Illuminate/Database/Eloquent/Collection.php#L92

于 2013-05-31T12:09:30.000 に答える