Я пытаюсь получить название категории для отображения в таблице, но получаю сообщение об ошибке: «Попытка получить свойство 'category' не-объекта (View: C: \ xampp \ htdocs \ retro \ resources \ views \ admin \ games \ index.blade.php)! вместо
Вот таблица для кода:
@foreach($games as $game)
<tr>
<td>{{ $game->title }}</td>
<td>{{ $game->image }}</td>
<td>£{{ $game->price }}</td>
<td>{{ $game->category_id->category }}</td>
<td>{{ $game->sold }}</td>
<td>{{ $game->promote }}</td>
<td>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#edit">Edit</button>
</td>
</tr>
@endforeach
Модель Categories
:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Categories extends Model
{
public function games()
{
return $this->hasMany('App\Games');
}
}
Модель Games
:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Games extends Model
{
public function category()
{
return $this->hasOne('App\Categories');
}
}
А вот миграция, которую я использую
public function up()
{
Schema::create('games', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->string('image');
$table->integer('price');
$table->integer('category_id')->index();
$table->integer('sold');
$table->integer('promote');
$table->timestamps();
});
}
Я совершенно уверен, что это ошибка в отношениях, но я не понимаю, что это такое.
$game->category_id
, может быть, целое число (как вы его определили)? - person Nico Haase   schedule 05.07.2019