Php 在用户和他们的帖子之间建立关系失败。。。。!
PostController.phpPhp 在用户和他们的帖子之间建立关系失败。。。。!,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
<?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())
然后返回一个关联数组,如图所示,但如果dodd($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)