Lub*_*kov 1 php mysql laravel eloquent
我有个问题!我做了一些东西,但不起作用,所以我会向你寻求帮助!所以问题是
我有这张桌子
products:
name,subcategory_id,category_id,price,description
Categories:
name,slug,timestamps
SubCategories:
name,slug,timestamps
Run Code Online (Sandbox Code Playgroud)
我想当smo调用这个url/category/{category}/{subcategory}
来获取子类别的所有产品被调用!但是当产品没有子类别只能打开类别时,我的意思是/category/{category}
谢谢你们!
在这里,我可以帮助你!
首先,类别和子类别只能使用一个表!
你可以这样做:
|---------------------------------------
|id| |parent_id| |name| |slug|
|1 | | (NULL) | Electronics | electronics
|2 | | 1 | Phones | phones
Run Code Online (Sandbox Code Playgroud)
现在品类电子有孩子 Phones
所以在你的Category.php模型中你可以做到
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function parent() {
return $this->belongsTo(self::class, 'parent_id');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function children() {
return $this->hasMany(self::class, 'parent_id','id');
}
Run Code Online (Sandbox Code Playgroud)
现在您可以使用 foreach 来显示您的孩子和类别!希望有帮助!;)