【发布时间】:2019-08-27 09:07:29
【问题描述】:
我在以下查询中有问题。查询返回结果,无需在 Eager 函数内运行条件。 尽管我们已经为 $from_code 和 $to_code 赋值,但它并没有附加这些内部条件。它只返回 empperson 表中的所有数据,而不管 $from_code 和 $to_code 分配的值。
$empPersons = Empperson::with(['empmaster' => function($query) use ($from_code,$to_code){
if($from_code !=""){
$query->where('empmaster.empCode','>=',$from_code);
}
if($to_code !=""){
$query->where('empmaster.empCode','<=',$to_code);
}
}]);
我的 Empmaster 和 Empperson 模型如下。
Empmaster.php
class Empmaster extends Model
{
protected $table = 'empmaster';
public function empPerson()
{
return $this->hasOne('App\Empperson');
}
}
Empperson.php
class Empperson extends Model
{
protected $table = 'empperson';
public function empMaster()
{
return $this->belongsTo('App\Empmaster','empmaster_id','id');
}
}
【问题讨论】:
标签: php laravel eloquent eager-loading