gpt4 book ai didi

javascript - javascript中的Laravel Eloquent 关系问题

转载 作者:行者123 更新时间:2023-11-30 16:13:00 25 4
gpt4 key购买 nike

这是我的网站模型

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

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

}

和 Controller 代码

 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

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

最佳答案

您必须加载关系才能将其包含在 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');

关于javascript - javascript中的Laravel Eloquent 关系问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35942101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com