我在laravel中有两列:ip
和hostname
。在所有刀片中,我写了$server->ip
。我需要在这种情况下做模特:
$server->ip = $server->hostname !== NULL ? $server->hostname : $server->ip
我如何在模特中做到这一点?
当我写$server->ip
时,我需要从这个条件中获取值..
答案 0 :(得分:0)
在你的模型中添加这个功能:
public function getIpAttribute()
{
return $this->hostname !== NULL ? $this->hostname : $this->ip;
}
答案 1 :(得分:0)
您应该提供您正在使用的laravel版本 - 但我认为您正在寻找的版本存在于最新版本中。这可以通过Server eloquent模型上的mutator来完成。
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;