我正在尝试搜索有关连接到user_id外键的用户名的评论
表格: 评论-ID,评论,用户ID,时间戳 用户-ID,名称,用户名
型号:
class Comment extends Model
{
public function author()
{
return $this->belongsTo('App\User','user_id');
}
}
控制器:
public function index(Request $request)
{
$comments = Comment::query()->orderby('created_at', 'DESC');
$id=$request->]
return view('comments.index')->withComment($comment);
}
查看:
<div class="panel-body">
{!! Form::open(['route' => 'comments.index', 'method' => 'GET']) !!}
<div class="col-md-5">
{!! Form::label('id', 'Search By ID:') !!}
{!! Form::text('id', null, array('class' => 'form-control')) !!}
</div>
<div class="col-md-5">
{!! Form::label('username', 'Search By Username:') !!}
{!! Form::text('username', null, array('class' => 'form-control')) !!}
</div>
<div class="col-md-2">
{!! Form::submit('Find Comments', array('class' => 'btn btn-send ')) !!}
</div>
{!!Form::close()!!}
</div>
@foreach($comment as $comments)
//data
@endforeach
答案 0 :(得分:0)
我认为它在构建器级别上失败了,因为您正在尝试查询一个未知的对象。 IE作者LIKE必须是子查询的一部分:
$comments = Comment::whereHas('author', function ($query) use($request) {
$query->where(users.username, 'LIKE', $request->input('username') )
}])->orderby('created_at', 'DESC')->get();
我看到您将不得不再次编写查询,但是我认为这对您来说可能是成功的。