laravel 5.4中的数组到字符串转换错误

时间:2017-04-18 16:26:39

标签: php laravel post

我试图在我的laravel项目中发布一个带有注册用户的帖子但是这个错误发生了我不知道为什么请帮助我。

enter image description here 我的PostController是:

 public function __construct()
  {
    $this->middleware('auth')->except(['index','show']);
  }

public function index()
{
    $posts=Post::latest()->get();

    return view('posts.index',compact('posts'));
}

public function show(Post $post)
{

    return view('posts.show',compact('post'));
}

public function create()
{
    return view('posts.create');
}

public function store()
{

   $this->validate(request(),[
       'title'=>'required',
       'body' => 'required|min:15'
   ]);
   Post::create(request([
        'title' => request('title'),
        'body' => request('body'),
        'user_id' =>auth()->id()
        //auth()->user()->id
    ]));

    return redirect('/');
 }

我该如何解决?

2 个答案:

答案 0 :(得分:1)

尝试这样的事情。

public function store(Request $request)
{
    $model= new Model;
    $this->validate($request,[
        'title'=>'required',
        'body' => 'required|min:15'
    ]);

    $model->title= $request->title;
    $model->body= $request->body;
    $model->user_id= auth()->id();
    $model->save();  
    return redirect('/');
}

答案 1 :(得分:0)

试试此代码

public function store(Request $request)
{

   $this->validate(request(),[
       'title'=>'required',
       'body' => 'required|min:15'
   ]);
   Post::create([
        'title' => $request->title,
        'body' => $request->body,
        'user_id' =>auth()->id()
        //auth()->user()->id
    ]);
return redirect('/');
}

当然我的代码可能无法正常工作,但如果你能在post模型中为我提供创建方法的详细信息,我可以帮助更好