私はより良い方法を見つけるために多くの検索をしました。私はすでに上で読むLaravel docs親テーブルIDを取得して子laravelに格納する方法
その雄弁は、親モデルのID に子モデルから親IDに一致するようにしようとします。
私は、とDocument
テーブルを持っています。そして彼らは1:Mの関係を持っています。 Idea
には多くの文書を含めることができ、文書は1つのIdea
にしか関連しません。
ストアする親テーブルIDを取得できません。
コントローラ機能:
public function storeDocuments(DocumentRequest $request) {
if($request->hasFile('doc_name')) {
$filename = $request->file('doc_name')->getClientOriginalName();
$moveFile = $request->file('doc_name')->move('documents/', $filename);
}
$doc = new Document();
$doc->doc_name = $moveFile;
$doc->save();
}
ドキュメントモデル:
public function idea() {
return $this->belongsTo('App\Idea');
}
アイデアモデル:
public function documents() {
return $this->hasMany('App\Document');
}
電子ください親テーブルのIDを子テーブルに保存する手順をxplainしてください。
編集:
public function storeDocuments(DocumentRequest $request) {
if($request->hasFile('doc_name')) {
$filename = $request->file('doc_name')->getClientOriginalName();
$moveFile = $request->file('doc_name')->move('documents/', $filename);
}
$doc = new Document();
$doc->doc_name = $moveFile;
$idea = Idea::find(1); //how to get idea_id here???????
$idea->documents()->save($doc);
return back();
}
私はこの関係について非常に混乱しています。今のところ働いているし、理解できない。
アイデアスキーマ:
public function up()
{
//
Schema::create('ideas', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->string('idea_title');
$table->string('idea_info', 150);
$table->string('idea_image');
$table->string('selection');
$table->longText('idea_description');
$table->string('idea_location');
$table->integer('idea_goal')->unsigned();
$table->integer('pledge_amount')->unsigned();
$table->string('set_equity')->nullable();
$table->boolean('status')->default(0);
$table->rememberToken();
$table->timestamps();
$table->softDeletes();
});
}
文書スキーマ:
public function up()
{
//
Schema::create('documents', function (Blueprint $table) {
$table->increments('id');
$table->integer('idea_id')->unsigned();
$table->string('doc_name');
$table->rememberToken();
$table->timestamps();
$table->softDeletes();
});
}
各 'Document'が' Idea'に関連しなければならないので、あなたは 'アイデアを持っている必要があります'あなたの**コントローラ機能で利用可能なIDまたはモデル**。フォーム内のアイデアを選択するか、ネストされたリソースが必要です。 –
あなたが正しくあなたを理解していれば。あなたは文書でそのアイデアを保存します。しかし、あなたは特定のアイデアのためにドキュメントを追加する最後のIDを取得したいですか?私はそうですよね? –