Laravel 在 javascript 中的雄辩关系问题
Laravel eloquent relationship issue in javascript
这是我的网站模型
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,就像我在 JavaScript 中所做的那样 html.in 前两个值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');
使用
var obj = JSON.parse(el);
console.log(obj.project_name,obj.website,el.links)
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Ext.js从json构建模型关系的问题
- linkedin js"获取我的关系”;问题
- Laravel 在 javascript 中的雄辩关系问题
- 关系问题-Mongo集合和MeteorJS
- 关于RequireJS和依赖关系的一些问题让我感到困扰
- IndexedDB的概念问题(关系等)
- 在beforeCreate上的安全问题,即使我删除了这些参数,sails也会向其他模型添加关系
- 微风多对多关系和设置Aspect为'setDeleted'关于迭代问题
- Ember JS -在用belongsTo关系加载多个模型到一个路由时遇到问题