Php 拉雷维尔对json口若悬河
我在Laravel中使用vue.js。这是我的表格结构:Php 拉雷维尔对json口若悬河,php,jquery,laravel,eloquent,vue.js,Php,Jquery,Laravel,Eloquent,Vue.js,我在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 用雄辩的语言做这件
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
用雄辩的语言做这件事的正确方法是什么
<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>
位置模型:
public function article()
{
return $this->belongsToMany('App\article','article_location');
}
错误:
MacroTable.php第81行中的ErrorException:方法文章没有
存在。(观点:
/home/vagrant/Code/project/resources/views/locationproducts.blade.php)
您可以在这个URL中找到模型类的API:您可以看到toJson函数已经存在
你的html中有一些输入错误,你写了“$location->artikel()->toJson()”而不是“$location->article()->toJson()”,这可能是你的问题。所以我得到了一个最大函数嵌套错误:当我简单地将{$a_collection}放入模板中时达到100。所以我只是在控制器中调用了toJson方法,并将其作为变量传递。这里的另一件事是,您应该在“之后使用单引号”
public function article()
{
return $this->belongsToMany('App\article','article_location');
}