Laravel 雄辩到 json
Posted
技术标签:
【中文标题】Laravel 雄辩到 json【英文标题】:Laravel eloquent to json 【发布时间】: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 方法并将其作为变量传递。这里的另一件事是您应该在 " 【参考方案1】:你可以在这个URL找到Model类的API:https://laravel.com/api/5.0/Illuminate/Database/Eloquent/Model.html你可以看到toJson函数已经存在了。
你的 html 中有一些错字,你写的是“$location->artikel()->toJson()”而不是“$location->article()->toJson()”,也许这是你的问题。
【讨论】:
以上是关于Laravel 雄辩到 json的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 雄辩不更新 JSON 列:数组到字符串的转换
Laravel 雄辩的 all() 方法给出错误“数组到字符串的转换”[关闭]
从 mysql 迁移到 postgresql 时,Laravel 雄辩的 ORM 不起作用