なぜこれが機能しないのですか?
Article::with('category')->find($ids)
配列から文字列への変換例外が発生しました。
しかし、クエリを次のような2つの部分に分割すると:
$articles = Article::with('category')
そして
$articles = $articles->find($ids)
私は例外を受け取らず、結果は正しいです。
後世のためだけに...他の方法でこれを行うことができます:
Article::with('category')->whereIn('id', $ids)->get();
これは、データベースマネージャーにクエリを残すため、より良い(パフォーマンスが高い)はずです。
試してください:
Article::with('category')->get()->find($ids);
Find()を呼び出すには、まず記事を入手する必要があります。
警告:これは、データベースからすべての記事を取得し、それらをすべてメモリにロードし、すべてのデータから1つだけを選択して返します。これはおそらく、この問題をどのように処理するかではありません。
これにより、Laravel 4のIDの配列に基づいた結果が得られます。
Article::whereIn('id', $ids)->with('category')->get();