我有一个表(比如myreferencetable)的名字列表是..比如:
id | name | abbrv
- - - - - - - - - - - - - - - - -
1 | ABCDEF | abc
2 | TestState |
3 | UVWXYZ | xyz
在我的模型中,我为模型创建了一个属性:
protected $appends = [
'full_name'
];
现在,
我想查询数据库以便获得以下详细信息:
[
{
"name" : ABCDEF
"full_name" : ABCDEF (abc)
},
{
"name" : TestState,
"full_name" : TestState
},
{
"name" : UVWXYZ,
"full_name" : UVWXYZ (xyz)
}
]
即字符串的连接:
//必须
()//如果不为空
现在,我的问题是:
public function getFullNameAttribute()
{
return MyReferenceTable::select(DB::raw('concat(name," (", abbrv, ")")'));
}
但它又回来了:
[
{
"name" : ABCDEF
"full_name" : {}
},
{
"name" : TestState,
"full_name" : {}
},
{
"name" : UVWXYZ(xyz)
"full_name" : {}
}
]
我需要返回name+[“(abbrv)”]//where[value]=如果不为空
最佳答案
试试这个方法
public function getFullNameAttribute()
{
return $this->name . ($this->abbrv ? ' (' . $this->abbrv . ')' : '');
}