gpt4 book ai didi

laravel - 如何使用驼峰式大小写访问属性?

转载 作者:行者123 更新时间:2023-12-03 13:42:52 25 4
gpt4 key购买 nike

为了与我的编码风格保持一致,我想使用 camelCase访问属性而不是 snake_case .这在 Laravel 中可以不修改核心框架吗?如果是这样,如何?

例子:

// Database column: first_name

echo $user->first_name; // Default Laravel behavior
echo $user->firstName; // Wanted behavior

最佳答案

创建您自己的 BaseModel类并覆盖以下方法。确保所有其他型号 extend您的 BaseModel .

namespace App;

use Illuminate\Foundation\Auth\User;
use Illuminate\Support\Str;

class BaseUser extends User
{
public function getAttribute($key) {
if (array_key_exists($key, $this->relations)) {
return parent::getAttribute($key);
} else {
return parent::getAttribute(Str::snake($key));
}
}

public function setAttribute($key, $value) {
return parent::setAttribute(Str::snake($key), $value);
}
}
然后用于使用:
// Database column: first_name

echo $user->first_name; // Still works
echo $user->firstName; // Works too!
这个技巧围绕通过覆盖 Model 中使用的魔术方法来强制蛇案例的关键。 .

关于laravel - 如何使用驼峰式大小写访问属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25559558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com