2

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のドキュメントの例と完全に類似しているようです。

4

3 に答える 3

0

この問題は、リソースの過剰な消費が原因であると思われ、リソースの枯渇によってページが HTTP500 になりました。join文で書き換えて修正。

于 2013-07-08T10:31:01.570 に答える