如何从带有categoria的相关produtos返回带有分页的相同查询?
我的Model DB
:
配置Model Eloquent categoria
:
namespace App\Models;
class Categoria extends ModelDefault
{
protected $table = 'categoria';
public function produtos()
{
return $this->belongsToMany('App\Models\Produto', 'categoria_produto', 'categoria_id')->withTimestamps();
}
}
配置Model Eloquent produto
:
namespace App\Models;
class Produto extends ModelDefault
{
protected $table = 'produto';
public function categorias()
{
return $this->belongsToMany('App\Models\Categoria', 'categoria_produto', 'produto_id')->withTimestamps();
}
public function images()
{
return $this->hasMany('App\Models\ProdutoImagem','produto_id', 'id');
}
}
我从produtos
获取categoria
的查询:
$produtosPorCategoria = Categoria::with(['produtos.images.image'])
->where('slug', $categoria_slug)
->ativo()
->first();
dd($produtosPorCategoria);
在这里,您可以看到我返回的数组中的版画屏幕:
答案 0 :(得分:1)
如果我明白你需要什么。你应该试试这个
$produtosPorCategoria = Categoria::with(['produtos.images.image'])
->where('slug', $categoria_slug)
->ativo()
->first();
应该是
$produtosPorCategoria = Categoria::with(['produtos.images.image'])
->where('slug', $categoria_slug)
->ativo()
->first();
$produtosPorCategoria = $produtosPorCategoria->produtos()->paginate(5);