と遠くのデータを取得することはできません。は、私は、このセットアップを持っている例のためにhasManyThrough方法
3210私はcollected_itemモデルを通じてitem_modelに関するすべての投稿を取得します。
だから私はこのようなitem_modelに関係を設定します。
public function posts()
{
return $this->hasManyThrough('App\Post', 'App\Collected_item');
}
が、その後どのように私は記事を取得していますか?
$posts = Item_model::where('model_name', 'LIKE', $q . '%')->posts();
または
$posts = Item_model::where('model_name', 'LIKE', $q . '%')->posts()->get();
エラーが返さ:私は名前でモデルを探していますので、私は無駄にこのようにしようとした
コール未定義のメソッドを照らし\ Databaseへ\クエリー\ビルダー:: posts()
これは機能しますが、この方法では、関連する投稿を持っているかどうかにかかわらず、すべてのitem_modelsを取得します。私は、モデルではなく記事だけを取り出す必要があります。 – Chriz74
このように、Hasメソッドを使用しなければならない投稿を持つitem_modelsだけが必要な場合は $ posts = Item_model :: has( 'posts') - > where( 'model_name'、 'LIKE'、$ q '%') - > get(); –
いいえ、私はポストがモデルではなく、laravelドキュメントごとにhasManyThroughを使って可能でなければなりません。しかし、それは動作しません。 – Chriz74