Php 拉威尔未知柱
我对此错误有问题:Php 拉威尔未知柱,php,sql,laravel,Php,Sql,Laravel,我对此错误有问题: https://pastebin.com/cgm5yq0P 这是我的表格: https://pastebin.com/bSU5X5EC 这是我的web.php路由控制器: 路线:post'/komentarz','VideosController@postComment'; 这是我的VideoController后指令功能: https://pastebin.com/SYbEjB8H 这是我的评论模式: https://pastebin.com/SxHX6gTP 这是
https://pastebin.com/cgm5yq0P
这是我的表格:
https://pastebin.com/bSU5X5EC
这是我的web.php路由控制器:
路线:post'/komentarz','VideosController@postComment';
这是我的VideoController后指令功能:
https://pastebin.com/SYbEjB8H
这是我的评论模式:
https://pastebin.com/SxHX6gTP
这是我的用户模型注释功能:
public function comments() {
return $this->hasMany('App\Comment');
}
这是我的视频模型评论功能:
public function comments() {
return $this->hasMany('App\Comment');
}
公共职能评论{
返回$this->belongsToMany'App\Comment'->带时间戳;
}
最后是名为create_comments_table的迁移文件:
https://pastebin.com/2cHscQfq
我的路线:
https://pastebin.com/ki8FZ0C6
请帮我做这个。。我不知道怎么回事在评论模型中,我看到可填充的是“用户”,而不是“用户id”。我想应该是用户id。或者你可以使用
protected guarded = [];
而不是使用可填充数组。外键错误。将迁移更改为此
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->unsignedInteger('video_id');
$table->foreign('video_id')->references('id')->on('videos')->onDelete('cascade');
编辑:添加评论并将其附加到视频和用户
// model fillable property
protected $fillable = [
'text', 'user_id', 'video_id',
];
// route
Route::post('/film/{id}/komentarz', 'VideosController@postComment');
// controller method
public function postComment(CreateCommentRequest $request, $id)
{
$video = Video::findOrFail($id);
$video->comments()->create([
'text' => $request->text,
'user_id' => auth()->id(),
]);
return 'works';
}
// form
{!! Form::open(['url' => "/film/{$video->id}/komentarz", 'method' => 'post','class' => 'form-horizontal']) !!}
<div class="form-group">
<div class="col-md-3 control-label">
{!! Form::label('text', 'Treść komentarza:') !!}
</div>
<div class="col-md-8">
{!! Form::textarea('text', null, ['class'=>'form-control', 'size' => '5x5']) !!}
</div>
</div>
<div class="form-group">
<div class="col-md-8 col-md-offset-3">
{!! Form::submit('Dodaj', ['class'=>'btn btn-primary btn-comment']) !!}
</div>
</div>
{!! Form::close() !!}
工作,坦克很多:但你能告诉我如何才能得到这个视频的评论吗?@Kurtcbain你添加评论的方式是错误的。您没有将评论链接到视频。注释应该失败,因为您有外键。发布你的问题路线,我将向你展示如何在此基础上向视频添加评论。以及我使用$video->comments获得的视频评论?@kurtcbain yes