2016-07-15 16 views
0

У меня есть две таблицы: пользователи и сообщения. Я установил связь между этими двумя таблицами. Когда я пытаюсь сохранить, сообщение, созданное пользователем, отправляет сообщения в таблицу. Он не передает идентификатор пользователя. Пожалуйста, проверьте код ниже:Не удается получить текущий идентификатор пользователя пользователя

пользователя Модель (App \ 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 Модель (App \ Post.php)

<?php 

    namespace App; 

    use Illuminate\Database\Eloquent\Model; 

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

Post Controller (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();

Так что я изменил свои коды, как показано ниже

<?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

или '$ request-> пользователя() -> posts-> сохранить ($ пост)' – felipsmartins

+0

На самом деле, я забыл добавить возвращение до красноречивого отношения. Вот почему я не могу вытащить или сохранить с помощью текущего входа в систему user'id. –

Смежные вопросы