Places と Users の 2 つのテーブルがあります。場所には多くのユーザーを含めることができます。
// in Place.php
public function users()
{
return $this->hasMany('User');
}
//in User.php
public function place()
{
return $this->belongsTo('Place');
}
静的メソッド Place::locationsWithPeople() を介して関連付けられたアクティブで有効なユーザーが少なくとも 1 人いる場所のみを取得しようとしています。
public static function locationsWithPeople()
{
return Place::with(array('users' => function($query)
{
$query->where('enabled', '=', 1)->where('active', '=', 1);
}))->get();
}
これにより、HTTP 500 が生成されます。2 つの where を削除しても役に立ちません。
これは機能しますが、もちろん次の 2 つの場所は含まれていません。
return Place::has('users')->get();
誰でも助けることができますか?Laravelのドキュメントの例と完全に類似しているようです。