Ich bin ziemlich neu in Laravel und ich versuche den Beitrag hinzuzufügen, erstellen von ein Benutzer in die Datenbank. Aber wenn ich so tun, Schleppfehler kommt:Das Argument 1 wurde an Illuminate Database Eloquent Relations HasOneOrMany :: save() übergeben und muss eine Instanz von Illuminate Database Eloquent sein Modell
Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::save()
must be an
instance of Illuminate\Database\Eloquent\Model, string given,
called in C:\xampp\htdocs\lar\app\Http\Controllers\PostController.php on line
25 and defined
User-Modell:
<?php
namespace App;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
class User extends Model implements Authenticatable
{
use \Illuminate\Auth\Authenticatable;
public function posts()
{
return $this->hasMany('App\Post');
}
}
Beitrag Modell:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function user()
{
return $this->belongsTo('App\User') ;
}
}
Postcontroller:
<?php
namespace App\Http\Controllers;
use App\Post;
use Illuminate\Http\Request;
class postController extends Controller
{
public function postCreatePost(Request $request){
// Validation
$post = new Post();
$post->$request['body'];
$request->user()->posts()->save('$post');
return redirect()->route('dashboard');
}
}
Beitrag Route:
Route::post('/createpost',[
'uses' => '[email protected]',
'as'=>'post.create'
]);
Formular Aktion:
<form action="{{route('post.create')}}" method="post">
Bitte sagen Sie mir, wie dieses ot zu beheben .. Wie dieses Problem beheben? Vielen Dank im Voraus .. :)
Vielen Dank Ich habe es versucht, aber dann kam ein weiterer Fehler: QueryException in Connection.php Zeile 761: SQLSTATE [HY000]: Allgemeiner Fehler: 1364 Feld 'Körper' hat keinen Standardwert (SQL: Einfügen in ' posts '(' user_id', 'updated_at',' created_at') Werte (8, 2016-10-20 10:04:19, 2016-10-20 10:04:19)). –
Ich habe den Standardwert hinzugefügt: $ table-> text ('body') -> default (""); aber es hat nicht funktioniert. Ich verstehe nicht, was ich falsch gemacht habe ... –
Oh, jetzt bekomme ich es ... aber update_at und created_at werden automatisch von timestamps() erstellt, warum braucht es dann einen Standardwert? und wie man es bereitstellt? –