So habe ich ein Posts-Modell, das viele Kommentare und gehört zu einem Benutzer, also wenn ich einen Kommentar hinzufügen möchten, die zu einem Beitrag und einem Benutzer gehört, muss ich ihm einen Benutzer geben eine ID, und das habe ich versucht.Laravel KommentareController nicht genug Argumente übergeben user_id
use App\Posts;
use App\Comment;
class CommentsController extends Controller
{
public function store(Posts $post)
{
$this->validate(request(), ['body' => 'required|min:2']);
$post->addComment(request([
'body' => request('body'),
'user_id' => auth()->user()]));
}
}
Aber was ich bekomme ist
Type error: Too few arguments to function App\Posts::addComment(), 1 passed 2 expected.
Die addcoment Methode, aus dem Modell-Beiträge:
public function addComment($body, User $userid)
{
$this->comments()->create(compact('body', 'userid'));
return back();
}
Nach diesem Tutorial https://laracasts.com/series/laravel-from-scratch-2017/episodes/19, aber der Lehrer übersprungen diesen Schritt.
zeigen Sie Ihre Routing –
Ich habe es zu der Post hinzugefügt. –
Es scheint, dass Sie ein einzelnes Argument an die Funktion "addComment" übergeben, während zwei benötigt werden. 'Anfrage ([ 'body' => Anfrage ('body'), 'user_id' => auth() -> user()])' –