我可以在模型中添加新密钥吗?
can i add new key in models?
我想在使用 laravel、
中的模型获得 API 的任何响应时添加密钥
目前,我正在开发一个 API 来获得响应,其中包含一个动态添加的新键。
如果我没记错的话,我猜你正在尝试创建一个 table 中不存在的新字段,但需要使用其中的一些逻辑动态创建,并且你想将该字段传递给您的每一件产品。
如果是这样的话,我猜 Laravel Eloquent 在这种情况下,访问器将是最好的选择。在 Accessor 的帮助下,您可以创建任何类型的字段,并且可以像我们调用其他字段一样调用它。
如需更多参考,请查看此 https://laravel.com/docs/5.7/eloquent-mutators Laravel 文档。
从 Laravel 文档中选取的样本。
public function getFullNameAttribute()
{
return "{$this->first_name} {$this->last_name}";
}
现在我可以在我的控制器中使用 full_name 或 blade 文件,如 $user->full_name 然后它会给我 first_name 的连接字符串和last_name.
首先在您的模型中添加这个以添加自定义字段
protected $appends = ['is_favorite'];
public function getIsFavoriteAttribute($value)
{
return $this->name; // whatever you want add here
}
但是在应用关系和 select 从关系中获取其他模型详细信息时出现问题。
将属性添加到 $appends
。
class MyModel extends Model {
...
/**
* The accessors to append to the model's array form.
*
* @var array
*/
protected $appends = ['extra'];
public function getExtraAttribute(){
return "Extra Value";
}
...
}
我想在使用 laravel、
中的模型获得 API 的任何响应时添加密钥目前,我正在开发一个 API 来获得响应,其中包含一个动态添加的新键。
如果我没记错的话,我猜你正在尝试创建一个 table 中不存在的新字段,但需要使用其中的一些逻辑动态创建,并且你想将该字段传递给您的每一件产品。
如果是这样的话,我猜 Laravel Eloquent 在这种情况下,访问器将是最好的选择。在 Accessor 的帮助下,您可以创建任何类型的字段,并且可以像我们调用其他字段一样调用它。
如需更多参考,请查看此 https://laravel.com/docs/5.7/eloquent-mutators Laravel 文档。
从 Laravel 文档中选取的样本。
public function getFullNameAttribute()
{
return "{$this->first_name} {$this->last_name}";
}
现在我可以在我的控制器中使用 full_name 或 blade 文件,如 $user->full_name 然后它会给我 first_name 的连接字符串和last_name.
首先在您的模型中添加这个以添加自定义字段
protected $appends = ['is_favorite'];
public function getIsFavoriteAttribute($value)
{
return $this->name; // whatever you want add here
}
但是在应用关系和 select 从关系中获取其他模型详细信息时出现问题。
将属性添加到 $appends
。
class MyModel extends Model {
...
/**
* The accessors to append to the model's array form.
*
* @var array
*/
protected $appends = ['extra'];
public function getExtraAttribute(){
return "Extra Value";
}
...
}