Модель контакта
class Contact extends Model
{
public function Account()
{
return $this->belongsTo('app\Account');
}
}
Модель учетной записи
class Account extends Model
{
public function Contact()
{
return $this->hasMany('app\Contact');
}
}
Я хочу получить запрос ко всем контактам, которые имеют account_name = 'test'
или account_city ='test2'
.
$query = Contact::query();
$query->whereHas('Account', function ($q) {
$q->orwhere('account_name' ,'=', 'test');
$q->orwhere('account_city','=','test2');
});
$query->get;
В этом запросе отображаются все контакты с Account
, но я хочу получить только контакты с account_name = 'test'
или account_city ='test2'
.
Результат $query->tosql();
select * from `contacts` where exists (select * from `accounts` where (`contacts`.`account_id` = `accounts`.`id` or (`account_name` = ? or `account_city` = ?)) and `accounts`.`deleted_at` is null) and `contacts`.`deleted_at` is null