Как изменить основной запрос MySQL (связанные таблицы) на Laravel? - PullRequest
0 голосов
/ 29 марта 2019

У меня есть связанные таблицы. Итак, как преобразовать базовый запрос в Laravel, который возвращает то же значение, что и мой запрос?

$result=$koneksi->query("SELECT * FROM user, city where user.id_city=city.id_city and id_user='1'");
$row=mysqli_fetch_array($result,MYSQLI_BOTH);
$id_user=$row['id_user'];

Ответы [ 3 ]

1 голос
/ 29 марта 2019

Я предполагаю, что у вас есть модели для каждой таблицы, если не настроены.Столбец идентификатора по умолчанию обычно имеет значение «id», поэтому хорошо, если вы также можете изменить его, чтобы заставить магию Laravels работать сразу из коробки.

Затем добавьте взаимосвязь в классы вашей модели.

class User extends Model
{
    public function city() {
        return $this->belongsTo('App\City');
    }
}

class City extends Model
{
    public function users() {
        return $this->hasMany('App\User');
    }
}

Тогда вы должны быть в состоянии сделать

User::with('city')->find(1)
0 голосов
/ 29 марта 2019

Вы можете выполнить основные запросы MySql, написанные ниже:

//for select
$results = DB::select('select * from users where id = ?', [1]);

//for insert
DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);

//for update
 DB::update('update users set votes = 100 where name = ?', ['John']);

//for delete
DB::delete('delete from users'); 
0 голосов
/ 29 марта 2019

использовать БД;

DB::table('user')->Join('city', 'user.id_city', '=', 'city.id_city')->where('id_user','=',1);

относительно вашего основного запроса php mysql, этот запрос будет работать на вашем уровне.

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