Laravel sql выберите пользователей по электронной почте, которые перечислили номера, где статус = в списке - PullRequest
0 голосов
/ 03 октября 2018

У меня есть 2 таблицы:

**users**
id | name | email | ...
-----------

**rooms**
user_id | title | status | ...
---------------------------

Как выбрать электронную почту всех пользователей с номерами, в которых статус номеров указан в Laravel 5?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Если вы уже определили отношение между App\User и App\Room такими моделями.

class User {
    /* other codes in your model goes here */
    public function rooms(){
        return $this->hasMany(App\Room::class);
    }
}

class Room {
    /* other codes in your model goes here */
    public function user(){
        return $this->belongsTo(App\User::class);
    }
}

Вы можете получить электронную почту всех пользователей с комнатами, в которых статус комнат указан в списке, как этот

$users= \App\User::with(['rooms' => function($query){
    $query->where('status', 'listed');
}])->pluck('email');
0 голосов
/ 03 октября 2018

Что вы должны сделать, вы должны использовать «с» и «имеет»

    $user = User::with(['room'])->whereHas('room,function($query){
            $q->where('status',1);

    })->get();

создать модель пользователя и комнаты и отношения в комнате имени пользователя.Может быть, выше, решите вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...