FatalErrorException Laravel 5.3 Post 控制器

FatalErrorException Laravel 5.3 Post Controllers

嗨,我有使用 post 和时间线的任务标题社交网络应用程序 我有一些问题

use App\Http\Controllers\Controller;
use App\Post;
use Illuminate\Http\Request;


class PostController extends Controller
{

    public function postCreatePost(Request $request)
    {
        $post = new Post();
        $post->body = $request['body'];
        $request->user()->posts()->save($post);
        return redirect()->('home');
    }
}

这是我的 Post 模型,请检查此代码

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
 public function user (){
     return $this->belongsTo('App\User');
 }
}

尝试改变

$post = new Post();

$post = new Post;

1) 变化:

$post->body = $request['body'];

至:

$post->body = $request->get('body');

2) 这一行:$request->user()->posts()->save($post); 也似乎全错了。

在您的用户模型中,您需要告诉 eloquent 用户有很多帖子

    public function posts()
    {
       return $this->hasMany('App\Post');
    }

然后在您的控制器中为具有 id = 1 的用户设置的那一行; $user = User::find(1) 变为:

$user->posts()->save($post)

3)return redirect()->('home'); 必须是 return redirect()->route('home');

4) 最后,花点时间阅读 laravel documentation