Laravel Как правильно выбрать поля из нескольких таблиц базы данных? - PullRequest
0 голосов
/ 22 января 2020

У меня есть таблица giveaway, в ней есть столбец winner_id, в который вводится идентификатор пользователя на сайте. Необходимо, чтобы идентификатор из столбца winner_id просматривался в таблице users и отображал имя пользователя, найденное на сайте. Как это можно сделать правильно?

1 Ответ

2 голосов
/ 22 января 2020

Вы ищете отношение «один ко многим» (обратное) со стороны модели «Giveway». Во-первых, вам нужно создать модель «Giveaway», которая представляет вашу таблицу базы данных «Giveaway», на случай, если у вас ее еще нет. У вас должна быть модель пользователя, так как она существует по умолчанию. Ваша «дешевая» модель может выглядеть следующим образом:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Giveaway extends Model
{
    /**
     * Get the user that is related to the giveaway.
     */
    public function user()
    {
        return $this->belongsTo('App\User', 'id', 'winner_id');
    }
}

Теперь, получите бесплатный экземпляр, и вы можете сделать что-то вроде этого:

// this will print the user instance which is associated to the giveaway row with id #1
dd(Giveaway::find(1)->user);

Для получения более подробной информации, пожалуйста, проверьте Laravel Документы: https://laravel.com/docs/6.x/eloquent-relationships#one -в-ко-многим обратным

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