我已经连接表与一个has很多
新娘模型:
public function plans()
{
return $this->hasMany("App\Plan");
}
计划模型:
public function bridal()
{
return $this->belongsTo("App\Bridal");
}
我有一个查询将这些数据返回到endpoint。
public function bridal()
{
$bridals = Bridal::with(["plans" => function($query){
$query->orderBy("plans.plan_price");
}])
->groupBy("place_name")
->get();
return $bridals;
}
一切都很好,除了一件事。在婚宴桌上,一些身份证上没有计划。因此,当我返回数据时,一些bridal id
带有一个空的Plans
数组。
我想阻止这种情况。如果新娘id
没有计划,那么我不想返回该新娘id。在这里我如何才能实现我想要的?
在您的查询中添加whyhave():这样您将获得具有计划的新娘记录
$bridals = Bridal::with(["plans" => function($query){
$query->orderBy("plans.plan_price");
}])
->whereHas('plans')
->groupBy("place_name")
->get();
你可以用Has。如果您只使用has('relation')
,这意味着您只想获得在该关系中至少有一个相关模型的模型。
$bridals = Bridal::with(["plans" => function($query){
$query->orderBy("plans.plan_price");
}])->has('plans')
->groupBy("place_name")
->get();
查看更多信息以便回答
问题内容: 我在node.js中编写一个函数来查询PostgreSQL表。 如果该行存在,我想从该行返回id列。 如果不存在,我想将其插入并返回ID()。 我一直在尝试和语句的变体,但似乎无法使其正常工作。 问题答案: 我建议在数据库端进行检查,然后将ID返回给nodejs。 例子: 而不是在Node.js端(在此示例中,我使用的是node-postgres):
问题内容: 是否可以将此代码转换为Java 8可选单行表达式? 即如果某个对象不为空,我需要调用一个对象方法并返回其结果,否则返回0。 不适合,因为它返回相同类型的对象,但是我需要方法调用的结果或一些默认值。 问题答案: 几种形式: 其中,最后一个不使用Optional(因此不能严格回答您的问题!)更易于阅读,运行时开销也较小,因此应优先使用。 可以说,如果您反转选项,它甚至更简单: …尽管您可能
是否可以将此代码转换为Java8可选的单行表达式? i、 如果某个对象不是null,我需要调用一个对象方法并返回其结果,否则返回0<代码>可选。不可数()。orElse()不适合,因为它返回相同类型的对象,但我需要方法调用的结果或一些默认值。
问题内容: 在MySQL中,是否可以将“总计”字段设置为零(如果它们为NULL)? 这是我所拥有的: 数据输出正常,但NULL字段应为。 如何在MySQL中为NULL返回0? 问题答案: 使用IFNULL: 从文档中: 如果expr1不为NULL,则IFNULL()返回expr1; 否则返回expr2。IFNULL()返回数字或字符串值,具体取决于使用它的上下文。
将从非null元素返回最小值。 我想编写一个查询,将NULL视为可能的最小值。 我见过使用特殊值的日期技巧,如下所示:https://stackoverflow.com/a/32240382/7810882 但是,如果列的类型是并且没有可以映射到的特殊值怎么办?
我有一个简单的Java程序: 而这个简单的: 当我使用gradle执行它时——没有守护进程运行,我得到以下输出: 如果我通过从终端执行它,我得到以下: 我知道系统。当父进程使用stdout重定向时,console()可能返回null。是否有一些Gradle选项来禁用重定向并使控制台完全可用于我的程序? 我正在为Java开发一个终端库,所以我想在stdin/stdout/stderr中没有Gradl