私はプロジェクトを作成するためのフォームを持っています。それは2つの外部キードメインと所有者(domain_idとowner_id)を含んでいます。実際にはこれらは2つのドロップダウンリストです。私がフォームを提出しようとすると、私のデータベースをチェックすると、ドロップダウンリストから値を選択しても、所有者とドメインがNULL値を持つことがわかりました。データベースにドロップダウンリストの選択を保存する方法は?
これはprojectControllerです:
public function create()
{
$domains = Domain::all('nameDomaine', 'id');
$owners = Owner::all('nameOwner', 'id');
return view('projectss.create', compact('domaines', 'owners'));
}
public function store(Request $request)
{
$domain_id = Domain::all()->pluck('nameDomain', 'id');
$owner_id = Owner::all()->pluck('nameOwner', 'id');
$this->validate($request, [
'title' => 'required',
'code' => 'required',
'domain_id' => 'required',
'owner_id' => 'required',
]);
Project::create($request->all());
return redirect()->route('projects.index')
->with('success', 'Project created successfully');
}
と、これはcreate.blade.phpです:
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong> Domain : </strong>
<select class="form-control" name="domain_id">
@if (!count($domains) > 0)
<strong> Whoops! Something went wrong </strong>
@else
@foreach($domains as $id => $domain)
<option value="{{ $id }}">{{ $domain->domain }}</option>
@endforeach
@endif
</select>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong> owner : </strong>
<select class="form-control" name="owner_id">
@if (!count($owners) > 0)
<strong> Whoops! Something went wrong </strong>
@else
@foreach($owners as $id => $owner)
<option value="{{ $id }}">{{ $owner->nameOwner }}</option>
@endforeach
@endif
</select>
</div>
</div>
私はこの問題についての記事をたくさん読んで、それらのどれも私のために働いていません。
妥当性検査に合格しましたか?それをフォームの中にラッピングしていますか?あなたのタイトルとコードがデータベースに正しく挿入されていますか? – Vikash
はい、検証に合格しました。タイトルとコーデが正しく挿入されています。はい、ドロップダウンリストはフォーム内にあります。 – Naj
ストア機能で 'Log :: info($ request-> all());'を実行し、フォームチェックを送信してくださいdomain_idとorder_idの値が正しく来ていますか? – Vikash