Итак, я пытаюсь изучить laravel, и я как бы застрял в отношениях друг с другом. Итак, у меня есть страница с 3-мя ссылками на нее и вход в db щелчок по этим ссылкам. Все хорошо, я нажимаю ссылку, он регистрирует в db идентификатор ссылки, но когда я пытаюсь напечатать их в представлении, я получаю «Попытка получить свойство не-объекта».Пытается получить свойство не-объекта по отношению друг к другу
Мои модели:
class NiceAction extends Model
{
public function logs(){
return $this->hasMany('App\NiceActionLog');
}
}
class NiceActionLog extends Model
{
public function log(){
return $this->belongsTo('App\NiceAction');
}
}
Мой контроллер:
Это, как я войти в БД на клик:
public function getNiceAction($action, $name = null){
if ($name == null) {
$name = 'you';
}
$nice_action = NiceAction::where('name', $action)->first();
$nice_action_log = new NiceActionLog();
$nice_action->logs()->save($nice_action_log);
return view('actions.nice', ['action' => $action, 'name' => $name]);
}
И это, как я передать loggs к просмотру :
public function getHome(){
$actions = NiceAction::all();
$logged_actions = NiceActionLog::all();
return view('home', ['actions' => $actions, 'logged_actions' => $logged_actions]);
}
И thi s на мой взгляд:
@foreach($logged_actions as $loggedAction)
<li>{{ $loggedAction->log->name}}</li>
@endforeach
СПУСТЯ EDIT:
Мои рабочих таблиц выглядит так, если это может быть проблема:
nice_action_logs стол:
public function up()
{
Schema::create('nice_action_logs', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->integer('nice_action_id');
});
}
nice_actions стол:
public function up()
{
Schema::create('nice_actions', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->string('name');
$table->integer('niceness');
});
}
Что будет '{{dd ($ loggedAction-> log() -> toSql())}}' return? –