私はlaravelを学ぼうとしていますし、1対多の関係に固執しています。だから、私は3つのリンクを持つページを持って、それらのリンクをクリックしてdbにログインします。すべての良い、私はリンクをクリックし、dbのリンクのIDを登録するが、私はビューでそれらを印刷しようとすると、私は "非オブジェクトのプロパティを取得しようとする"を取得します。1対多の関係で非オブジェクトのプロパティを取得しようとしています
マイモデル:
class NiceAction extends Model
{
public function logs(){
return $this->hasMany('App\NiceActionLog');
}
}
class NiceActionLog extends Model
{
public function log(){
return $this->belongsTo('App\NiceAction');
}
}
マイコントローラ:
これは私がクリックしたときに、DBへのログイン方法です:
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]);
}
そして、 sが私の見解である:
@foreach($logged_actions as $loggedAction)
<li>{{ $loggedAction->log->name}}</li>
@endforeach
LATER 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
マイtabelsこれが問題になる可能性がある場合には、このようになります。テーブル:
私はこれが実際にあることを意味していると仮定してい$logged_actions = NiceAction::all();
:
'{{dd($ loggedAction-> log()}> return? –