Laravel красноречивый JSON

Я использую vue.js в Laravel. Это моя структура таблицы:

Article
id
name
description

Location
id
placearticle_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');
}

Ошибка:

ErrorException в строке Macroable.php 81: метод статьи не
существовать. (Посмотреть:
/home/vagrant/Code/project/resources/views/locationproducts.blade.php)

2

Решение

Вы можете найти API класса Model по этому адресу: https://laravel.com/api/5.0/Illuminate/Database/Eloquent/Model.html Вы можете видеть, что функция toJson уже существует.

У вас есть опечатка в html, которую вы написали «$ location-> artikel () -> toJson ()» вместо «$ location-> article () -> toJson ()», возможно, это ваша проблема.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]