私はすべてのカテゴリを含むこの単純なテーブルを持っている:Laravel:表中のクエリ子供のいない要素
カテゴリー: ID |私はチャイルズを持っていないすべてのカテゴリを照会することができる方法のParentID雄弁を使用して
、|名前?
私はすべてのカテゴリを含むこの単純なテーブルを持っている:Laravel:表中のクエリ子供のいない要素
カテゴリー: ID |私はチャイルズを持っていないすべてのカテゴリを照会することができる方法のParentID雄弁を使用して
、|名前?
あなたが何か行うことができます:
Category::whereNull('parent_id')->get();
をしかし、それはより良いモデルの「子どもの関係を設定し、それを使用してそれをやっているかもしれません:
Category.php
public function children()
{
return $this->hasMany('App\Category', 'parent_id', 'id');
}
使用
Category::whereDoesntHave('children')->get();
ありがとうございます! 私はこれを変更しなければならなかった: 返す$ this-> hasMany( 'App \ Category'、 'id'、 'parentid); 〜 返す$ this-> hasMany( 'App \ Category'、 'parentid'、 'id'); –
ああ、私は答えを更新します、私はいつもそれらを間違った方法で取得します。 – martincarlin87
あなたは関係を構築する必要があり、その後、次の
$query = Category::query();
$query->whereDoesntHave('child');
$query->get();
を使用することができるか、最も簡単なのは
Category::whereNull('parent_id')->get();
あるものチャイルズは?、私は意味チャイルズでコード –
でさらに説明されています: 'id'の値を持つカテゴリは、他のカテゴリの 'parentid'の値としては出現しません。 –