我有一个Product Model
。产品具有多种变体,我在Product.php
public function variants()
{
return $this->hasMany('App\Models\Variant', 'product_id');
}
我只想显示is_published
的值为1
的变体,所以我尝试了此操作,就像我在控制器中所做的一样,但它不起作用,它甚至显示了变体尽管is_published
是0
。
public function variants()
{
return $this->hasMany('App\Models\Variant', 'product_id')->where('is_published', true);
}
答案 0 :(得分:3)
您应该尝试以下操作:
您的模型
public function variants()
{
return $this->hasMany('App\Models\Variant', 'product_id');
}
public function variants_publish() {
return $this->variants()->where('is_published',true);
}
您的控制器查询如下:
$rsltDetails = YourModel::find(1);
var_dump( $rsltDetails->variants_publish()->get() );
答案 1 :(得分:-2)
添加is_published 1的值,而不是true
public function variants()
{
return $this->hasMany('App\Models\Variant', 'product_id')->where('is_published', 1);
}