存在しませんが:Laravel 5、リクエストメソッドを介して挿入することはできません、私は任意の成功なしでやろうとしている何が
welcome.bladeで、私はいくつかのボードとsubboardsとforeachのを持っている(ランダムで生成されあなたはサブボードをクリックして、この/ subboardOneのようなものに行くことができます。私は私のroutes.phpの上
Route::get('/{subboaName}', '[email protected]');
Route::post('/{subboaName}', '[email protected]');
をこれを得た後、フォームを経由して、このサブボード上のスレッドを投稿することができますが、私は本当に彼がどこlaravelが知っているのか分からないので、フォームは次のようなものです:
<form class="form col-md-12 center-block" role="form" method="POST" action="/{{$subboardcoll->id}}">
この$ subboardcoll-> idはそれがインデックス機能を経由してコレクションを送信し、コントローラ、から来ている:
public function index($subboard)
{
$subboardcoll = Subboard::where('subboaName', $subboard)->first();
$threads = Thread::where('subboaId', $subboardcoll->id)
->orderBy('created_at', 'desc')
->get();
return view('threads.thread', compact('threads', 'subboardcoll'));
}
その後、私は自分のフォームを送信し、スレッドautoinsertiを保存しようとしていますNG subboardIdしかしlaravelはsubboards方法認識しない:
public function store(Request $request)
{
$this->validate($request, [
'comentario' => 'required|max:2000',
//'g-recaptcha-response' => 'required|recaptcha',
//'imagen' => 'required',
]);
$request->subboards()->threads()->create([
'thrName' => $request->nombre,
'thrComment' => $request->comentario,
'thrImg' => $request->imagen,
'thrSubject' => $request->tema,
]);
return redirect()->back();
}
を、私にこのerorr与える:
BadMethodCallException in Macroable.php line 81: Method subboards does not exist.
君たちhelpmeはなぜ知っていることはできますか?また、私は何をしようとしているより良いフォームですか? laravel上のイム初心者、感謝
EDIT:
Thread.php
public function subboard()
{
return $this->belongsTo(Subboard::class, 'subboaId');
}
Subboard.php
public function thread()
{
return $this->hasMany(Thread::class);
}
フォームを使用してIDを渡すが、それを実行するときには、私にそのエラー与え、ということでした:\データベース\文法:: columnizeを(照らすために渡さ 引数1)型配列、文字列でなければなりませんが与えられたE:¥laragon¥www¥DeepElite¥vendor¥laravel¥framework¥src¥Illuminate¥Database¥Query¥Grammar¥Grammar.phpで、121行目で呼び出され、 – Sociopath
が定義されています。 findを使うときは$ idだけを渡します。私は正しい使い方を反映するために私の答えを編集しました。 –
スレッド()のように思えます。それは未定義のメソッドなので、なぜ私のモデルでは問題ないのですか? – Sociopath