Das ist, was ich ohne Erfolg zu tun, ich versuche:Laravel 5, kann nicht über Request-Methode einfügen existiert nicht
In welcome.blade Ich habe eine foreach mit einigen Brettern und subboards (zufällig erzeugt durch Benutzer), wo Sie auf das Subboard klicken und etwas wie/subboardOne gehen können. Ich habe dies auf meinem routes.php
Route::get('/{subboaName}', '[email protected]');
Route::post('/{subboaName}', '[email protected]');
dann können Sie einen Thread zu diesem Subboard über Form schreiben, aber da ich wirklich nicht wissen, wie Laravel weiß, wo er ist, ist die Form, so etwas wie diese:
<form class="form col-md-12 center-block" role="form" method="POST" action="/{{$subboardcoll->id}}">
diese $ subboardcoll-> id kommt von der Steuerung, wo es die Sammlung über die Index-Funktion sendet:
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'));
}
dann versuche ich, meine Form und speichern den Faden autoinserti senden ng der subboardId aber Laravel erkennt nicht subboards Methode:
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();
}
Und gibt mir diese erorr:
BadMethodCallException in Macroable.php line 81: Method subboards does not exist.
Können Sie Kerle helpme wissen, warum? Gibt es auch bessere Form zu tun, was ich versuche? im Neuling auf Laravel dank
EDIT:
thread.php
public function subboard()
{
return $this->belongsTo(Subboard::class, 'subboaId');
}
Subboard.php
public function thread()
{
return $this->hasMany(Thread::class);
}
täte, eine ID durch die Form durchzulassen, aber bei der Ausführung es mir, dass Fehler gibt: Argument 1 übergeben \ Database \ Grammatik :: columnize() ausleuchten muss, string des Typs Array sein gegeben, in E: \ Laragon \ www \ DeepElite \ Hersteller \ Laravel \ Framework \ src \ Illuminate \ Datenbank \ Query \ Grammars \ Grammar.php in Zeile 121 aufgerufen und – Sociopath
Entschuldigung, dass die falsche Referenz gemacht. Wenn Sie find verwenden, übergeben Sie nur die ID $. Ich habe meine Antwort bearbeitet, um die korrekte Verwendung widerzuspiegeln. –
Scheint wie threads() es ist eine undefinierte Methode, weiß nicht warum, weil auf meinen Modellen alles in Ordnung ist, Edditing meine Frage – Sociopath