5

1 対多の関係を持つ 2 つのモデルがあります。

class User extends ConfideUser {

    public function shouts()
    {
        return $this->hasMany('Shout');
    }

}

class Shout extends Eloquent {

    public function users()
    {
        return $this->belongsTo('User');
    }

}

これはうまくいくようです。しかし、これを叫びオブジェクトにネストされたユーザーオブジェクトを返すにはどうすればよいですか? 現在、すべてのシャウトのみが返されますが、JSON で所属するユーザー モデルにアクセスすることはできません。

Route::get('api/shout', function() {
    return Shout::with('users')->get();
});

これは次の JSON を返すだけで、すべてのシャウトにユーザー オブジェクトはありません。

[{"id":"1","user_id":"1","message":"A little test shout!","location":"K","created_at":"2013-05-23 19:51:44","updated_at":"2013-05-23 19:51:44"},{"id":"2","user_id":"1","message":"And here is an other shout that is a little bit longer...","location":"S","created_at":"2013-05-23 19:51:44","updated_at":"2013-05-23 19:51:44"}]
4

4 に答える 4

4

Model::with("relationship")->get()私はLaravel 5を使用して同じ問題を抱えていました.モデルのメソッドを使用して動作させることを追加したかっただけです.

于 2015-09-24T17:39:31.370 に答える
1

使用している場合:

protected $visible = ['user'];

JSONで表示されるように、関係を追加することを忘れないでください

于 2015-08-18T07:37:36.420 に答える