laravel - Laravel 设置带有今天日期的模型表名称
问题描述
我在我的 laravel 应用程序中有一个模型,它使用一个每天重新创建的表,其中包含一个包含今天日期的新表名。
我正在尝试将protected $table
模型中的属性设置为
protected $table = "probe_request_" . $this->getDate;
这就是我定义getDate
函数的方式
private function getDate()
{
return Carbon::now('Europe/London')->startOfDay()->format('d_m_Y');
}
我不断收到以下错误"<strong>Zend compile error</strong>: Constant expression contains invalid operations in <strong>/var/www/intelli_sense/app/sprinkles/geo-sense/src/Database/Models/ProbeRequest.php</strong> on line <strong>23</strong>"
有没有办法可以在其中设置带有今天日期的表名?我觉得必须有一个简单的方法来做到这一点,我错过了。
解决方案
创建字段值时不能使用表达式,但可以在模型构造函数中覆盖它:
public function __construct(array $attributes = [])
{
$this->table = "probe_request_" . Carbon::now('Europe/London')->startOfDay()->format('d_m_Y');
parent::__construct($attributes);
}
推荐阅读
- python - 多项选择测验,如何处理不需要的答案?| Python
- angular - Angular - 解析嵌套的 JSON
- javascript - 我可以在 next.config.js 中使用 @next/env 包吗?
- r - R OSRM 计算 data.frame 内的行进距离
- azure-active-directory - MS Graph API 频繁/过度触发客户端应用程序针对 Active Directory 用户更改
- c# - (Unity3D) 错误 CS1503:参数 2:无法从“float”转换为“UnityEngine.Space”
- java - 有限输入设备的任务 API
- c# - 基于字典元素的动态 lambda 参数
- reactjs - 表单未使用反应句柄提交钩子发布
- npm - NativeScript 8.0.0:NPM 漏洞在“3 高”到“30 高”之间切换