【问题标题】:Laravel eloquent relationship issue in javascriptjavascript中的Laravel雄辩的关系问题
【发布时间】:2016-06-26 19:25:23
【问题描述】:

这是我的网站模型

  class Website extends Model
{
    protected $table = 'website';

   public function links()
   {
    return $this->hasMany('App\Website_links')->where('crawler_status',1);
   }

}

和控制器代码

 if(Request::ajax()){

        $validator = Validator::make(Request::all(), [
            'page' => 'required',
        ]);
        if($validator->fails()){
            return Response::json(['success'=>false,'error'=>$validator->errors()->toArray()]);
        }

        $page = Request::get('page');
        $websites_data = Website::where('user_id',Auth::id())->skip(3*($page-1))->take(3)->get();
        return Response::json(['success'=>true,'success_data'=>$websites_data]);
    }

和javascrpit代码

$(result.success_data).each(function( index,el) {
                console.log(el.project_name,el.website_url,el.links);
            });

这里我在 el.links 上未定义。 在我的 html 中,我得到了这样的完美

@foreach($data as $website)
                    <tr>
                        <td>{{$website['project_name']}}
                        </td>
                        <td><a href="{{$website['website_url']}}">{{$website['website_url']}}</a></td>
                        <td>{{count($website->links)}}</td></tr>
@endforeach

我想在 javascript 中计算 el.links,就像我在 html.in 中所做的一样,前两个值 project_name 和 website_url 非常完美。

【问题讨论】:

    标签: javascript php laravel laravel-5 laravel-5.2


    【解决方案1】:

    您必须加载关系才能将其包含在 JSON 输出中。

    迫不及待地加载它....

    $websites_data = Website::with('links')->where('user_id',Auth::id())->skip(3*($page-1))->take(3)->get();
    

    或者懒加载

    $websites_data = Website::where('user_id',Auth::id())->skip(3*($page-1))->take(3)->get();
    $websites_data->load('links');
    

    【讨论】:

      【解决方案2】:

      使用

      var obj = JSON.parse(el);
      console.log(obj.project_name,obj.website,el.links)
      

      【讨论】:

        猜你喜欢
        • 2019-03-17
        • 2014-10-18
        • 2019-10-29
        • 1970-01-01
        • 2020-09-25
        • 1970-01-01
        • 2015-03-14
        • 2018-11-28
        相关资源
        最近更新 更多