【发布时间】:2016-05-08 09:46:40
【问题描述】:
我在 Laravel 中使用 vue.js。这是我的表结构:
Article
id
name
description
Location
id
place
article_location (pivot table)
--fields--
id
article_id (foreign key)
location_id (foreign key)
我想把它转换成 json:
article.place
article.description
location.place
用 eloquent 做这件事的正确方法是什么?
<div class="container">
<div class="container">
<data list="{{ $location->artikel()->toJson() //<-something like this? }}"></data>
</div>
<template id="ln-data">
<ul>
<li v-for="value in list">
@{{ value.name }}
</li>
</ul>
</template>
<script>
Vue.config.debug = true;
Vue.component('data', {
template: '#ln-data',
props:['list'],
created() {
this.list = JSON.parse(this.list);
}
})
new Vue({
el: 'body'
});
</script>
我的控制器:
$location = location::all(); return view('locationproducts')->with('location',$location);
定位模型:
public function article()
{
return $this->belongsToMany('App\article','article_location');
}
错误:
Macroable.php 第 81 行中的 ErrorException:方法文章没有 存在。 (看法: /home/vagrant/Code/project/resources/views/locationproducts.blade.php)
【问题讨论】:
-
所以当我简单地将 {{$a_collection}} 放入模板时,我得到了最大函数嵌套错误:100 达到。所以我只是在控制器中调用了 toJson 方法并将其作为变量传递。这里的另一件事是您应该在 "
标签: php jquery laravel eloquent vue.js