Я пытаюсь получить данные, используя отношение Laravel Eloquent HasMany (обратное), но у меня нет доступа. Всякий раз, когда я пытаюсь, он показывает Попытка получить имя свойства не-объекта
У меня две модели. Категория и Статья. Категория содержит много статей. Вот модели:
Модель категории
protected $fillable = [
'user_id', 'name',
];
public function articles()
{
return $this->hasMany('App\Models\Article');
}
Модель статьи
protected $fillable = [
'user_id', 'headline', 'summary', 'body', 'status', 'cover_image', 'image_caption', 'image_credit', 'cover_video', 'video_caption', 'video_credit', 'category', 'meta', 'tags',
];
public function category()
{
return $this->belongsTo('App\Models\Category','category');
}
Контроллер статей
public function pendingposts()
{
$user = Auth::user();
$articles = Article::all();
return view('admin.article.pending-posts')->with(['user' => $user, 'articles' => $articles]);
}
Просмотр Blade (admin.article.pending-posts)
@foreach($articles->where('status', 'submitted')->sortByDesc('updated_at') as $article)
<tr>
<td >{{ $article->headline }}</td>
<td>{{ $article->category->name }} </td>
</tr>
@endforeach
здесь, в лезвии, я не могу получить доступ к категории с помощью красноречивой функции BelongsTo, и я не понимаю причину получения сообщения:
ErrorException (E_ERROR) Попытка получить имя свойства не-объекта (вид: C: \ xampp \ htdocs \ joliadmin \ resources \ views \ admin \ article \ pending-posts.blade.php)
with
, например.Article::with('category')->get()
, и еще одна причина может заключаться в том, что у вас нет данных для категории - person Kushal Suthar   schedule 10.01.2019return $this->hasMany('App\Article');
разве ваши модели не находятся в папке моделей? Дайте мне знать, если это так, и я могу написать вам ответ :) - person party-ring   schedule 10.01.2019