Я установил Laravel framework v5.3.2 и dimsav/aravel-translatable package v6.0.1. У меня возникла проблема с получением данных из отношения belongsTo() (родителя) на той же модели.Laravel 5 возвращает JSON вместо объекта on attribTo() отношение
category.php модель
class Category extends Eloquent
{
public $translatedAttributes = [
'name', 'slug', 'description'
];
public function category()
{
return $this->belongsTo('App\Model\Category', 'category_id', 'id');
}
public function categories()
{
return $this->hasMany('App\Model\Category', 'category_id', 'id');
}
}
Метод для получения списка всех категорий:
$categoryModel = new Category;
$categories = $categoryModel->with('category.translations')->get();
При печати имя атрибута в представлении, Laravel бросает исключение: «Попытка получить свойство не-объект».
<?php foreach ($categories as $category): ?>
Name: <?php echo $category->category->name; ?>
<?php endforeach; ?>
Но когда я пытаюсь получить значение как массив это работает:
<?php foreach ($categories as $category): ?>
Name: <?php echo $category->category['name']; ?>
<?php endforeach; ?>
Еще одна вещь, когда я пытаюсь var_dump ($ category-> категория) внутри Еогеасп я получаю это:
object(App\Model\Category)[221]...
Результаты дд ($ категории) в поле зрения внутри Еогеасп:
Category {#231 ▼
#table: "category"
+translatedAttributes: array:4 [▶]
+timestamps: false
#connection: null
#primaryKey: "id"
#keyType: "int"
#perPage: 15
+incrementing: true
#attributes: array:3 [▶]
#original: array:3 [▶]
#relations: array:2 [▼
"category" => Category {#220 ▶}
"translations" => Collection {#228 ▶}
]
#hidden: []
#visible: []
#appends: []
#fillable: []
#guarded: array:1 [▶]
#dates: []
#dateFormat: null
#casts: []
#touches: []
#observables: []
#with: []
+exists: true
+wasRecentlyCreated: false
}
Таким образом, объект существует, но Laravel не показывает его должным образом, когда я пытаюсь получить доступ к атрибуту напрямую. Кто-нибудь знает, где проблема? Это в Laravel или, возможно, в ларавель-переводимом пакете?
Ok, пожалуйста, обновите ваш вопрос (или разместить где-то есле) с результатом '{{дд ($ категории)}} 'внутри цикла foreach, пожалуйста. –
Обновленный вопрос. Хм странно, отношение категории равно нулю. Почему, если я попытался загрузить родительскую категорию загрузки? – fsasvari
Может быть, у первой категории в коллекции нет категорий или еще чего-нибудь? –