Как изменить колонку в модели Laravel? - PullRequest
0 голосов
/ 15 мая 2018

У меня есть два столбца в laravel: ip и hostname. На всем клинке я пишу $server->ip. Мне нужно сделать в моделях это условие:

$server->ip = $server->hostname !== NULL ? $server->hostname : $server->ip

Как я могу сделать это в модели?

И когда я пишу $server->ip Мне нужно получить значения из этого условия ..

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Вы должны указать, какую версию laravel вы используете, но я думаю, что вы ищете, существует в самых последних версиях.Это может быть выполнено с помощью мутатора в красноречивой модели сервера.

https://laravel.com/docs/5.6/eloquent-mutators

class Server extends Model
{
    /**
     * Get the server identity.
     *
     * @return String
     */
    public function getServerIdentityAttribute()
    {
        return $this->hostname !== NULL ? $this->hostname : $this->ip;
    }
}

После определения атрибута вы сможете получить к нему доступ с помощью $server->server_identity;

0 голосов
/ 15 мая 2018

В вашей модели добавьте эту функцию:

public function getIpAttribute()
{
    return $this->hostname !== NULL ? $this->hostname : $this->ip;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...