如何包含与用户的关联

时间:2017-06-09 09:22:37

标签: laravel laravel-5

我需要将json对象返回到我的视图中。我看到我的订阅修补:

\App\User::find(1)->with('subscriptions')->where('id', 1)->get();

在我看来,我获取了我的用户数据,但订阅数组是emply(length: 0

问题一,为什么我不能只\App\User::find(1)->with('subscriptions')->get()这会返回我数据库中的所有用户。

如何以json的形式返回当前有订阅的用户?很长的路要走两个api电话。

我使用收银台进行订阅

2 个答案:

答案 0 :(得分:2)

尝试通过运行

来检查查询日志
    \DB::enableQueryLog();
    $data = \App\User::with('subscriptions')->find(1);
    $query = \DB::getQueryLog();
    dd($query);

它会显示在seens后面运行的查询。

然后对于json格式尝试解码为json然后传递给view。

    $json_format = json_encode($data);
    return view('user.index')->withJsonFormat($json_format);

不知道为什么要用json格式传递数据。但是如果你想将它传递给javascript,jquery或angular,请创建saperate API并使用AJAX调用。

答案 1 :(得分:0)

正确的查询是:

App\User::with('subscriptions')->find(1)

它将使用此用户的订阅返回User对象。