Я использую рюкзак CRUD для laravel, и я пытаюсь запросить мою базу данных.Моя проблема в том, как я могу объединить таблицы по значениям или нулю?
это то, что я хочу
select * from `baskets`
inner join `users` on `baskets`.`donor_id` = `users`.`id`
inner join `users` as `ass` on `baskets`.`association_id` = `ass`.`id` or `baskets`.`association_id` is null
where `users`.`_lft` >= 1 and `users`.`_rgt` <= 1000
group by `baskets`.`basket_id`
order by `baskets`.`basket_id` desc, `end_removal_date` desc
И это то, что я пытаюсь сделать с помощью построителя запросов
$this->crud->query->join('users', 'baskets.donor_id', '=', 'users.id');
$this->crud->query->join('users as ass', function($join){
$join->on('baskets.association_id', '=', 'ass.id');
$join->orOn('baskets.association_id', 'is', \DB::raw('null');
}
$this->crud->addClause('where', 'users._lft', '>=', Auth::user()->_lft);
$this->crud->addClause('where', 'users._rgt', '<=', Auth::user()->_rgt);
Конечно не работает.У вас есть идея?
Спасибо