【发布时间】:2018-07-23 06:52:53
【问题描述】:
我对 Laravel 很陌生,我正在尝试将用户创建的帖子添加到数据库中。但是当我这样做时,会出现以下错误:
参数 1 传递给 Illuminate\Database\Eloquent\Relations\HasOneOrMany::save() 必须是一个 Illuminate\Database\Eloquent\Model 的实例,给出的字符串, 在线调用 C:\xampp\htdocs\lar\app\Http\Controllers\PostController.php
25 和定义
用户模型:
<?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');
}
}
帖子模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function user()
{
return $this->belongsTo('App\User') ;
}
}
后控制器:
<?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');
}
}
发布路线:
Route::post('/createpost',[
'uses' => 'PostController@postCreatePost',
'as'=>'post.create'
]);
表单动作:
<form action="{{route('post.create')}}" method="post">
请告诉我如何解决这个问题。如何解决这个问题? 提前谢谢你.. :)
【问题讨论】:
标签: laravel-5.2