когда я DD каждой переменной я вижу значение, включая user_id
это просто не будет хранить в БД … Я не уверен, что является причиной этого … userd_id всегда хранится со значением 0
Посмотреть :
{!! Form::open(['method'=>'POST', 'action'=>'UserCommentController@store']) !!}
<div class="form-group">
{!! Form::hidden('post_id', $post->id, ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::hidden('user_id', $value = Auth::id(), ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::textarea('body', null, ['class'=>'form-control', 'rows'=> 2]) !!}
</div>
<br>
<div class="form-group">
{!! Form::submit('Submit Comment', ['class'=>'btn btn-primary']) !!}
</div>
{!! Form::close() !!}
Контроллер:
public function store(Request $request)
{
$data = [
'post_id' => $request->post_id,
'user_id' => $request->user_id,
'body' => $request->body
];
Comment::create($data);
return redirect()->back();
}
БД:
public function up()
{
Schema::create('comments', function (Blueprint $table) {
$table->increments('id');
$table->integer('post_id')->unsigned()->index();
$table->integer('user_id')->unsigned()->index();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
$table->text('body');
$table->timestamps();
});
}
1) Есть Auth::id()
за работой? Я не уверен, но я всегда использую Auth::user()->id
;
2) В контроллере комментариев попробуйте добавить следующую строку: protected $fillable = ['user_id']
, Если у вас уже есть набор $ fillable, просто добавьте ‘user_id’ в массив. Это то, что я иногда забываю.
Других решений пока нет …