我有两个模型奖学金和水平,他们有多对多的关系。为此,我在数据库中有两个表作为奖学金和级别,还有一个数据透视表级别。我想根据奖学金(头衔、申请截止日期)和级别(姓名)查询是否获得奖学金
柱:
我的级别表有:id、名称、slug、创建时间、更新时间
我的奖学金表有:id,标题,段塞,描述,图像,大学,app_deadline,截止日期,备注,place_id,created_at,updated_at
和级别奖学金有:id,奖学金id,级别id,创建时间,更新时间
我的奖学金模式
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Scholarship extends Model
{
public function levels(){
return $this->belongsToMany('App\Level')->withTimestamps();
}
}
我的关卡模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Level extends Model
{
public function scholarships(){
return $this->belongsToMany('App\Scholarship')->withTimestamps();
}
}
我可以查询奖学金模型,但如何关联级别模型
$query = $request->input('query');
$field = Field::where('title','LIKE',"%$query%")->first();
$fieldId = $field->id;
$scholarships = $field->scholarships()->latest()->paginate(10);;
$scholarship = Scholarship::where('title','LIKE',"%$query%")
->orWhere('app_deadline','LIKE',"%$query%")
->orWhere(scholarship()->levels()->name,'LIKE',"%$query%")
->latest()->get();
您可以这样做:
$query = $request->input('query');
$field = Field::where('title','LIKE','%' . $query. '%')->first();
$fieldId = $field->id;
$scholarships = $field->scholarships()->latest()->paginate(10);
$scholarship = Scholarship::whereHas('levels' , function($q) use($query) {
$q->where('name', 'LIKE', '%' . $query. '%');
})
->where('title','LIKE','%' . $query. '%')
->orWhere('app_deadline','LIKE','%' . $query. '%')
->latest()->get();
试试这个它会帮助你:
编辑1:
$query = $request->input('query');
$field = Field::where('title','LIKE','%' . $query. '%')->first();
$fieldId = $field->id;
$scholarships = $field->scholarships()->latest()->paginate(10);
$scholarship = Scholarship::with(['levels' , function($q) use($query) {
$q->where('name','LIKE','%' . $query. '%');
}])
->where('title','LIKE','%' . $query. '%')
->orWhere('app_deadline','LIKE','%' . $query. '%')
->latest()->get();
问题内容: 如果我的查询包含一个类,例如: 然后我迭代它,那里是一个类的对象。 那么如何从包含多个类的查询中获取结果呢?例如: 问题答案: for (Object[] result : query.list()) { User user = (User) result[0]; Group group = (Group) result[1]; }
问题内容: 如果我的查询包含一个类,例如: 然后我迭代它,那里是一个类的对象。 那么如何从包含多个类的查询中获取结果呢?例如: 问题答案:
我有以下表格: 表名称 -----| 表字段 图书--------------------图书id、图书名称 作者 ---------- | author_id、author_name 图书作者-作者id,图书id 用户------------------用户id、用户名 注释----------注释id,注释 评论|用户|评论| id、用户id、图书id、日期 我需要显示书名,它的作者,以及为这
问题内容: 当我从命令行调用存储的proc时,我得到以下信息。 这是我的Java代码的片段 当我执行该语句时,仅返回event_table结果。我阅读以下查询: 我试图避免对数据库发出多个请求,因为它非常慢(300毫秒,具体取决于多少结果) 可能吗? 问题答案: 我找到了这篇很棒的文章。http://www.herongyang.com/JDBC/MySQL-CallableStatement-M
我试图获得一个返回“加权分数”的表,该表带有我为以下模式的每种类型设计的公式: 收藏夹:userID,drinkName 然而,这只返回特定类型的饮料,而不是每种类型的饮料的表。
问题内容: 我想知道如何编写此查询。 我知道这个实际的语法是虚假的,但是它将帮助您理解我想要的。我需要这种格式,因为它是更大查询的一部分。 我需要所有这些都在一个查询中返回。 此外,它必须排成一排,因此以下内容将不起作用: 问题答案: 您可以将语句与聚合函数一起使用。这与某些RDBMS中的函数基本相同: