【发布时间】:2016-08-16 08:37:39
【问题描述】:
SQL 是这样的:
select a,b,concat(a,b) from table
但我们不想使用原始 sql(whereRaw() 等),我们想使用 ORM 和查询构造函数。
【问题讨论】:
SQL 是这样的:
select a,b,concat(a,b) from table
但我们不想使用原始 sql(whereRaw() 等),我们想使用 ORM 和查询构造函数。
【问题讨论】:
您可以这样做:
1.属性模式:在您的模型中
添加
protected $appends = ['con_cat'];
public function getConCatAttribute()
{
return $this->attributes['A'].$this->attributes['B']
}
现在你可以使用
$yourModel->con_cat
2。功能模式:在您的模型中
public function concatAB()
{
return $this->attributes['A'].$this->attributes['B']
}
现在你可以使用
$yourModel->concatAB()
【讨论】:
您可以在 ORM 和查询构造函数中使用 Raw Expression 进行 concat。如下所示:
Model::select('a','b',\DB::raw("concat(a,' ',b)"))
->get();
【讨论】: