У меня есть 3 модели:
Модель MonHoc:
class MonHoc extends Model{
protected $table='monhoc' ;
protected $fillable = [
'mamh', 'phuongthucgiangday', 'tenmh','tinchitichluy','tinchihocphi','hockydenghi',
];
public function monTienQuyet(){
return $this->hasMany('App\MonTQ','montq_id','id');
}
public function monTuyChon(){
return $this->hasMany('App\MonTC','montc_id','id');
}
}
Модель MonTC:
class MonTC extends Model{
protected $table='monhoc_tuychon' ;
protected $fillable = [
'monhoc_id', 'montc_id',
];
public function monhoc(){
return $this->belongsTo('App\MonHoc','monhoc_id');
}
}
Модель MonTQ:
class MonTQ extends Model{
protected $table='montienquyet' ;
protected $fillable = [
'monhoc_id', 'montq_id',
];
public function monhoc(){
return $this->belongsTo('App\MonHoc','monhoc_id');
}
}
но когда я использую модель MonHoc в контроллере:
public function test(MonHoc $monhoc){
$mon=$monhoc->monTienQuyet->toSql();
dd($mon);
}
он показывает SQL
select * from `montienquyet` where `montienquyet`.`montq_id` is null and `montienquyet`.`montq_id` is not null
В MySQL он показывает ноль, потому что предложение where противоположно.Я не знаю, почему модель экспортирует этот SQL!
Пожалуйста, помогите!