我正在尝试使用问题结果,如果标题中包含一些字符,则再次获得问题。 如果我在condition_question表中查询,则会得到预期的结果。
public function showQuestions($category)
{
$myArray = array($category);
$questions = Question::whereIn('question_id', function ($query) use ($myArray) {
$query->select('question_id')
->from('condition_question')
->whereIn('condition_id', $myArray);
})->orderBy('question_id', 'desc')->paginate(20);
return QuestionLiteResource::collection($questions);
}
问题:现在如何使用$ questions结果并使用LIKE语句再次查询。到目前为止,我尝试了很多事情,例如这样,但是由于出现错误,某些东西丢失了:
public function showQuestions($category, $queryQuestion)
{
$myArray = array($category);
$chary = $queryQuestion;
$questions = Question::whereIn('question_id', function ($query) use ($myArray) {
$query->select('question_id')
->from('condition_question')
->whereIn('condition_id', $myArray);
})->get();
$results = $questions->where('question_title', 'LIKE', "%{$chary}%")->get();
return QuestionLiteResource::collection($results->values());
}
我知道这不是我最好的,但是需要一些帮助...最后获得分页的结果也很酷。 因此,如何从标题为char的问题表中获取问题集合。任何帮助都将受到欢迎!
答案 0 :(得分:1)
您可能知道,一旦调用get()函数,就得到了结果并且无法进一步查询。也许这会起作用:
public function showQuestions($category, $queryQuestion)
{
$myArray = array($category);
$chary = $queryQuestion;
$questions = Question::whereIn('question_id', function ($query) use ($myArray) {
$query->select('question_id')
->from('condition_question')
->whereIn('condition_id', $myArray);
})
->where('question_title', 'LIKE', "%{$chary}%")
->get();
return QuestionLiteResource::collection($questions);
}
答案 1 :(得分:1)
由于您在问题查询中致电了 shellAnimals.CurrentItem = shellBears;
,因此您得到的结果为get()
。
要通过集合进行过滤,可以使用Laravel Collection
函数。
示例代码
filter()
答案 2 :(得分:0)
<div class="container-fluid">
<div class="row">
<div class="col-md-12 col-6">1 one</div>
<div class="col-md-12 col-6">2 two</div>
<div class="col-lg-12">3 three</div>
</div>
</div>