Php 在用户和他们的帖子之间建立关系失败。。。。!

Php 在用户和他们的帖子之间建立关系失败。。。。!,php,laravel-5.2,Php,Laravel 5.2,PostController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Tpost; class PostController extends Controller { public function createUserPost(Request $request){ $this->validate($r

PostController.php

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Tpost;

class PostController extends Controller
{
   public function createUserPost(Request $request){

     $this->validate($request,[
      'post'=>'required'
      ]);
     $tpost =new Tpost();
     $tpost->body =$request['post'];
     $message = "something wrong";

     if($request->tuser()->tposts()->save($tpost))   //problem is there
     {
      $message = "post Successfully Submited";
     }
     return redirect()->route('dashboard')->with('message',$message);
   }
} 
//简单地插入数据库//我认为我无法建立关系 在Tuser和Tpost型号之间。 在PostController.php中,如果我执行
dd($tpost->tuser())
然后返回一个关联数组,如图所示,但如果do
dd($request->tuser())然后它说方法tuser不存在。
请帮忙


您的方法调用中有一个输入错误,就是在您写“有问题”的地方。应改为:

if($request->tuser()->tposts()->save($tpost))
编辑--

从错误消息判断,很明显Laravel认为您在$request实例上请求tuser()方法,而该实例显然不存在

你可以使用:

Auth::user()->tposts()->save($tpost)

如果这不起作用,我建议确保config/auth.php文件反映您的特定用例,特别是用户提供者部分。

ty!修复了它,但同样的问题@alex
$tpost ->save();
if($request->tuser()->tposts()->save($tpost))
Auth::user()->tposts()->save($tpost)