这是我的模型范围
public function scopeUser($query, $user_id)
{
return $query->where('user_id', $user_id)
->select(['_id', 'company_name', 'location', 'template_id', 'current_theme_id', 'site_url', 'site_path', 'addons']);
}
我想要的是theme_id
作为别名代替current_theme_id
尝试搜索解决方案,但所有主题都基于数据库查询。
由于
答案 0 :(得分:0)
public function scopeUser($query, $user_id)
{
return $query->where('user_id', $user_id)
->select(['_id', 'company_name', 'location', 'template_id', 'current_theme_id as theme_id', 'site_url', 'site_path', 'addons']);
}
答案 1 :(得分:0)
将“current_theme_id”替换为“current_theme_id as theme_id”,如下所示。
$ vagrant up
There was an error loading a Vagrantfile. The file being loaded
and the error message are shown below. This is usually caused by
a syntax error.
Path: /Users/<username>/<workspace>/<project>/Vagrantfile
Line number: 0
Message: RuntimeError: You need a local.yaml
答案 2 :(得分:0)
在您的模型中,添加:
protected $appends = ['theme_id']
public function getThemeIdAttribute()
{
return $this->current_theme_id;
}
文档:https://laravel.com/docs/5.1/eloquent-mutators#accessors-and-mutators
答案 3 :(得分:0)
在你的评论中:
我没有收到任何错误,但结果中没有
current_theme_id
或theme_id
。记录正在妥善归还
我怀疑列current_theme_id
列在您的模型$fillable
属性中。如果已经列出,请尝试以下建议。
这可能只是一种解决方法,使用selectRaw
方法
public function scopeUser($query, $user_id)
{
return $query->where('user_id', $user_id)
->selectRaw('*, current_theme_id AS theme_id')
->select([
'_id', 'company_name', 'location',
'template_id', 'site_url', 'site_path',
'addons', 'theme_id'
]);
}
希望这会帮助你。快乐的编码。欢呼声。