私は多対多の関係を持つフォームを作成しています。私はポストテーブルとアクティビティテーブルを持っています。ピボットテーブルを使用して、多対多のリンクがあります。投稿に1つ以上のアクティビティを追加するためのフォームを作成しています。私は 'ErrorException'を受け取っています - 非オブジェクトのプロパティを取得しようとしています。なぜこれが動かないのか分かりません。非オブジェクトのプロパティを取得しようとしています - Laravelフォーム
私があなたに提供できる援助に感謝します。
関連コードは以下のとおりです。
//Posts/create.blade.php
{!!Form::open(['action' => '[email protected]','method' => 'POST', 'class'=>'form-group'])!!}
{{Form::bsText('title','',['placeholder' => 'Trip Name'])}}
{{Form::bsTextarea('body','',['placeholder' => 'Trip Description'])}}
{{Form::bsSubmit('submit')}}
{{Form::label('activities', 'Activity:') }}
<select class="form-control select2-multi" name="activities" multiple="multiple">
@foreach($activities as $activity)
<option value="{{ $activity->id }}">{{ $activity->activity_name}}
</option>
@endforeach
</select>
{!! Form::close() !!}
// PostsControllerの
public function create()
{
$activities = Activity::all();
return view('posts.create')->withActivities($activities);
$posts = Post::all();
}
public function store(Request $request)
{
// Create a new post using the request data
// Save it to the database
$this->validate(request(), [
'title' => 'required',
'body' => 'required',
]);
$post = Post::create([
'title' =>request('title'),
'body' =>request('body'),
'user_id' => auth()->id(),
'activity_id' => id()
]);
// And then redirect to somewhere in application
return redirect()->route('posts.show', $post->id);
}
あなたはその例外をどこで取得しますか?どの行? –
'' activity_id '=> id() 'の' id() 'はどういう意味ですか? – aleksejjj
コメントありがとうございました! id()は 'activity_id' => id()で何を意味していますか? 私は今それが間違いであることを理解しています。 ポイントでブレードからエラーが表示されます - create.blade.phpの30行目が表示されます。だから私はそれがフォームやコントローラのエラーだと仮定します。アクティビティテーブルのIDをユーザテーブルごとに渡す必要があると仮定していますか? '' ' $ post = Post([ 'title' => request( 'title')) 'body' =>リクエスト( 'body')、 'user_id' => auth() - > id()、 ]); –