2016-07-15 4 views
0

두 개의 테이블 (사용자 및 게시물)이 있습니다. 나는이 두 테이블 사이의 관계를 만들었습니다. 저장하려고하면 사용자가 테이블에 게시하도록 만든 게시물입니다. 그것은 사용자의 ID를 전달하지 않습니다. (현재 로그인 한 사용자의 ID를 가져올 수 없습니다.

사용자 모델 (앱 \ User.php)

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Contracts\Auth\Authenticatable; 
class User extends Model implements Authenticatable 
{ 
    use \Illuminate\Auth\Authenticatable; 

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

포스트 모델 (앱 \ Post.php)

<?php 

    namespace App; 

    use Illuminate\Database\Eloquent\Model; 

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

포스트 컨트롤러 : 아래의 코드를 확인하시기 바랍니다 App \ Http \ Controllers \ PostController.php)

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Post; 
class PostController extends Controller 
{ 
    public function postCreatePost(Request $request) 
    { 
     //validation here will come 

     $post = new Post(); 
     $post->body = $request['body']; 
     $request->user()->posts()->save(); 
     return redirect()->route('dashboard'); 

    } 
} 

오류

Error

답변

0

나는 해결책을 찾아 냈다. 그래서, 나는 내 질문의 답을 게시 할 것이다.

Auth :: id()에서 현재 로그인 한 user'id를 가져옵니다.

그래서 내가

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Post; 
class PostController extends Controller 
{ 
    public function postCreatePost(Request $request) 
    { 
     //validation here will come 

     $post = new Post(); 
     $post->body = $request['body']; 
     $post->user_id = \Auth::id(); 
     $post->save(); 
     return redirect()->route('dashboard'); 

    } 
} 
+0

또는'$ 요청 -> 사용자() 아래로 내 코드를 변경 -> 지주> 저장 ($ 포스트)' – felipsmartins

+0

사실, 나는 웅변과 관련하여 이전에 수익을 추가하는 것을 잊었다. 그 이유는 내가 현재의 로그인 user'id로 철수하거나 저장할 수 없습니다. –

관련 문제