[英]Laravel eloquent relationship issue in javascript
this is my website model 这是我的网站模型
class Website extends Model
{
protected $table = 'website';
public function links()
{
return $this->hasMany('App\Website_links')->where('crawler_status',1);
}
}
and controller code 和控制器代码
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]);
}
and javascrpit code 和javascrpit代码
$(result.success_data).each(function( index,el) {
console.log(el.project_name,el.website_url,el.links);
});
here i am getting undefined on el.links. 在这里,我在el.links上变得不确定。 in my html i am getting it perfect like this
在我的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
i want to count el.links in javascript like i have done in html.in javascript first two values project_name and website_url is coming perfectly. 我想计算javascript中的el.links就像我在html.in javascript中所做的一样,前两个值project_name和website_url非常完美。
You have to load the relationship to get it included in the JSON output. 您必须加载关系以使其包含在JSON输出中。
Eager load it.... 渴望加载它。
$websites_data = Website::with('links')->where('user_id',Auth::id())->skip(3*($page-1))->take(3)->get();
or lazy load it 或延迟加载
$websites_data = Website::where('user_id',Auth::id())->skip(3*($page-1))->take(3)->get();
$websites_data->load('links');
use 采用
var obj = JSON.parse(el);
console.log(obj.project_name,obj.website,el.links)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.