Laravel LAVEL从父行中选择所有行
我有这样的表格结构: 关于更多说明,我还显示了类别表: 这是我的控制器:Laravel LAVEL从父行中选择所有行,laravel,eloquent,parent-child,Laravel,Eloquent,Parent Child,我有这样的表格结构: 关于更多说明,我还显示了类别表: 这是我的控制器: public function kategori($id, $slug) { $produks=Product::where('category_id', $id)->paginate(12);; return view('guest.daftarproduk') ->with('produks',$produks); } public function a
public function kategori($id, $slug)
{
$produks=Product::where('category_id', $id)->paginate(12);;
return view('guest.daftarproduk')
->with('produks',$produks);
}
public function allkategori($id, $slug) {
$category= Category::with('childs')->FindorFail($id);
$child = $category->childs->pluck('id');
$produks=Product::whereHas('featuredPhoto', function($query) {
$query->orderBy('photo', 'asc');
})->where('category_id', $id)->get();
return view('guest.daftarproduk')
->with('produks',$produks);
}
public function allkategori($id, $slug) {
$category= Category::with('allProducts')->FindorFail($id);
$child = $category->allProducts()->paginate(12);
return view('guest.daftarproduk')
->with('produks',$child);
}
我可以从子类别(id 43、44、45)中选择所有产品
但我不知道如何从父类别(示例id 42)中选择所有产品,同时从其子类别(id 43、44、45)中获取所有产品
请帮帮我
--编辑---:
型号:
public function childs() {
return $this->hasMany('App\Category','parent_id','id') ;
}
控制器:
public function kategori($id, $slug)
{
$produks=Product::where('category_id', $id)->paginate(12);;
return view('guest.daftarproduk')
->with('produks',$produks);
}
public function allkategori($id, $slug) {
$category= Category::with('childs')->FindorFail($id);
$child = $category->childs->pluck('id');
$produks=Product::whereHas('featuredPhoto', function($query) {
$query->orderBy('photo', 'asc');
})->where('category_id', $id)->get();
return view('guest.daftarproduk')
->with('produks',$produks);
}
public function allkategori($id, $slug) {
$category= Category::with('allProducts')->FindorFail($id);
$child = $category->allProducts()->paginate(12);
return view('guest.daftarproduk')
->with('produks',$child);
}
尝试此方法,使用eloquent获取属于父类别的所有子类别,然后循环返回集合中的每个子类别以获取产品 试试这个,使用eloquent获取属于父类别的所有子类别,然后循环返回集合中的每个子类别以获取产品 最后我发现答案与很多有着千丝万缕的联系 型号:
public function allProducts()
{
return $this->hasManyThrough('App\Product', 'App\Category', 'parent_id', 'category_id', 'id');
}
控制器:
public function kategori($id, $slug)
{
$produks=Product::where('category_id', $id)->paginate(12);;
return view('guest.daftarproduk')
->with('produks',$produks);
}
public function allkategori($id, $slug) {
$category= Category::with('childs')->FindorFail($id);
$child = $category->childs->pluck('id');
$produks=Product::whereHas('featuredPhoto', function($query) {
$query->orderBy('photo', 'asc');
})->where('category_id', $id)->get();
return view('guest.daftarproduk')
->with('produks',$produks);
}
public function allkategori($id, $slug) {
$category= Category::with('allProducts')->FindorFail($id);
$child = $category->allProducts()->paginate(12);
return view('guest.daftarproduk')
->with('produks',$child);
}
最后我发现答案与很多有着千丝万缕的联系 型号:
public function allProducts()
{
return $this->hasManyThrough('App\Product', 'App\Category', 'parent_id', 'category_id', 'id');
}
控制器:
public function kategori($id, $slug)
{
$produks=Product::where('category_id', $id)->paginate(12);;
return view('guest.daftarproduk')
->with('produks',$produks);
}
public function allkategori($id, $slug) {
$category= Category::with('childs')->FindorFail($id);
$child = $category->childs->pluck('id');
$produks=Product::whereHas('featuredPhoto', function($query) {
$query->orderBy('photo', 'asc');
})->where('category_id', $id)->get();
return view('guest.daftarproduk')
->with('produks',$produks);
}
public function allkategori($id, $slug) {
$category= Category::with('allProducts')->FindorFail($id);
$child = $category->allProducts()->paginate(12);
return view('guest.daftarproduk')
->with('produks',$child);
}
我可以从父母那里得到所有的孩子id。但我不知道如何循环每个孩子。你能给我举个例子吗?我可以从父母那里得到所有的孩子id。但我不知道如何循环每个孩子。你能给我举个例子吗。