gpt4 book ai didi

php - 使用 Eloquent 在 Laravel 中进行内连接

转载 作者:行者123 更新时间:2023-11-29 11:07:35 25 4
gpt4 key购买 nike

我有 2 个模型 LeaveApplication 和 LeaveDetails 模型,我将链接到内部连接休假与 LeaveDetails 模型

LeaveApplication Model

class LeaveApplication extends Model {

public $table = 'leave_application';
protected $fillable = ['user_id', 'start_date', 'end_date'];
public function leaveDetails() {
return $this->hasMany("App\LeaveDetails", 'application_id');
}
}

This is LeaveDetails Model

class LeaveDetails extends Model {
public $table = "leave_details";
public $fillable = ['application_id','leave_date','leave_type'];
}

我尝试使用 LeaveApplication::with('leaveDetails')->where('leaveDetails.leave_date','2016-10-10')->get() 访问此内容

它给了我错误,这不是 eloquent 中的 createinner join。

我也在用whereHas('leaveDetails')这不使用内连接

最佳答案

LeaveApplication::with('leaveDetails')->where('leaveDetails.leave_date','2016-10-10')->get()

它不会工作,因为 Laravel 查询使用很少的连接。如果您致力于急切加载,我建议使用 constrained eager loading 。您的 Eloquent 查询将如下所示:

LeaveApplication::with(['leaveDetails' => function($query){
$query->where('leave_date', '2016-10-10');
}]);

如果您想知道 Eloquent 将生成什么类型​​的查询,请尝试使用 toSql() 转储它.

关于php - 使用 Eloquent 在 Laravel 中进行内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41158845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com