56
Tôi có hai mô hình liên quan: Category
và Post
.Laravel. Sử dụng phạm vi() trong các mô hình có quan hệ
Mô hình Post
có phạm vi published
(phương pháp scopePublished()
).
Khi tôi cố gắng để có được tất cả các loại với phạm vi rằng:
$categories = Category::with('posts')->published()->get();
tôi nhận được một lỗi:
Call to undefined method
published()
Thể loại:
class Category extends \Eloquent
{
public function posts()
{
return $this->HasMany('Post');
}
}
bài viết:
class Post extends \Eloquent
{
public function category()
{
return $this->belongsTo('Category');
}
public function scopePublished($query)
{
return $query->where('published', 1);
}
}
Ngẫu nhiên, nếu bạn muốn CHỈ nhận được nơi bạn đã xuất bản bài viết: 'Danh mục :: whereHas ('bài đăng', hàm ($ q) {$ q-> xuất bản d(); }) -> get(); ' – tptcat
@tptcat có. Cũng có thể là "Category :: has ('postsPublished')' trong trường hợp này –