尝试获取每个连接记录都处于非活动状态的外键记录(Laravel 雄辩的查询)
Trying to get foraign key records where every connected records are deactive ( Laravel elequent query )
我有2张桌子
Category's ( id, name )
Sub_categories ( id, key, value, category_id )
我正在尝试获取所有 sub_categories
都已停用的类别 ( means are soft-deleted )
让我再解释一下
我有sub_categories
这样的数据
[
{
"id": 1,
"category_id": 1,
"key": "sub 1",
"value": "sub_1",
"deleted_at": null
},
{
"id": 2,
"category_id": 1,
"key": "sub 2",
"value": "1",
"deleted_at": null
},
{
"id": 4,
"category_id": 1,
"key": "sub 3",
"value": "1",
"deleted_at": "2019-07-09 06:06:01"
},
{
"id": 5,
"category_id": 2,
"key": "sub 1",
"value": "33",
"deleted_at": "2019-07-09 06:06:01"
},
{
"id": 6,
"category_id": 2,
"key": "sub 2",
"value": "33",
"deleted_at": "2019-07-09 06:06:01"
}
]
我只想要 category_id
-> 2(其中所有 sub_categories
都是 softedeleted
)
听说的品类型号代码
public function subCategory() {
$this->makeVisible('deleted_at');
return $this->hasMany('App\SubCategory','category_id','id');
}
您首先必须定义 Categorys
和 Sub_categories
- https://laravel.com/docs/5.8/eloquent-relationships 之间的关系。
然后使用查询得到你想要的https://laravel.com/docs/5.8/queries
获取具有子类别的类别 ID:
$categoryIdsWithSubCategories = SubCategory::get()->pluck('category_id')->toArray();
获取没有子类别的类别:
$categoriesWithoutSubCategories = Category::whereNotIn('id', $categoryIdsWithSubCategories)->get();
$categories = Categories::doesntHave('subCategory')->get();
我有2张桌子
Category's ( id, name )
Sub_categories ( id, key, value, category_id )
我正在尝试获取所有 sub_categories
都已停用的类别 ( means are soft-deleted )
让我再解释一下
我有sub_categories
这样的数据
[
{
"id": 1,
"category_id": 1,
"key": "sub 1",
"value": "sub_1",
"deleted_at": null
},
{
"id": 2,
"category_id": 1,
"key": "sub 2",
"value": "1",
"deleted_at": null
},
{
"id": 4,
"category_id": 1,
"key": "sub 3",
"value": "1",
"deleted_at": "2019-07-09 06:06:01"
},
{
"id": 5,
"category_id": 2,
"key": "sub 1",
"value": "33",
"deleted_at": "2019-07-09 06:06:01"
},
{
"id": 6,
"category_id": 2,
"key": "sub 2",
"value": "33",
"deleted_at": "2019-07-09 06:06:01"
}
]
我只想要 category_id
-> 2(其中所有 sub_categories
都是 softedeleted
)
听说的品类型号代码
public function subCategory() {
$this->makeVisible('deleted_at');
return $this->hasMany('App\SubCategory','category_id','id');
}
您首先必须定义 Categorys
和 Sub_categories
- https://laravel.com/docs/5.8/eloquent-relationships 之间的关系。
然后使用查询得到你想要的https://laravel.com/docs/5.8/queries
获取具有子类别的类别 ID:
$categoryIdsWithSubCategories = SubCategory::get()->pluck('category_id')->toArray();
获取没有子类别的类别:
$categoriesWithoutSubCategories = Category::whereNotIn('id', $categoryIdsWithSubCategories)->get();
$categories = Categories::doesntHave('subCategory')->get();