Я исследовал связанные с этим вопросом, но не работал над моей ситуацией. Сейчас я изучаю Laravel 5.2, чтобы изучить мои первые рамки. Но я столкнулся с этой проблемой в учебнике, в котором используется «Eager Loading».Eager Загрузка в Laravel 5.2 не работает
Я не уверен, если Card Модель и Таблица необходимы, но только, чтобы убедиться, что я добавил их.
Что я пытаюсь сделать? Я хочу показать пользователя, связанного с запиской.
Это мои коды и файлы
CardsController.php
public function show(Card $card)
{
return $card->notes[0]->user;
}
ТАБЛИЦЫ
Пользователь
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('username')->unique();
$table->string('email')->unique();
$table->string('password');
$table->timestamps();
});
Примечания
Schema::create('notes', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned()->index();
$table->integer('card_id')->unsigned()->index();
$table->text('body');
$table->timestamps();
});
Карты
Schema::create('cards', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->timestamps();
});
МОДЕЛИ: namespace
и use
просто совпадают с другими моделями, которые являются пустыми
User.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function User()
{
return $this->belongsTo(Note::class);
}
}
Note.php
class Note extends Model
{
protected $fillable = ['body'];
public function card()
{
return $this->belongsTo(Card::class);
}
}
Card.php
class Card extends Model
{
public function notes()
{
return $this->hasMany(Note::class);
}
public function addNote(Note $note)
{
return $this->notes()->save($note);
}
}
Ожидаемый результат:
Мой выход:
Мой выход пустой. Браузер ничего не показывал.
Позвольте мне знать, если вы видите недостающий код кузен я укоротил CardsController.php
, потому что я думаю, что код является важным.