gpt4 book ai didi

php - 如果列有 2 个连续的下划线,则使用访问器或修改器

转载 作者:行者123 更新时间:2023-12-04 15:24:08 25 4
gpt4 key购买 nike

我的数据库中有一个列 Started_Trading__c .我正在努力为这个领域使用访问器。到目前为止,我已经尝试了以下但没有运气。public function getStartedTrading_cAttribute()public function getStartedTrading__cAttribute()public function getStarted_Trading__cAttribute()public function getStarted_Trading_cAttribute()让访问器使用具有 2 个连续下划线的此类列名的有效方法是什么 __c .
不幸的是,我无法控制数据库列名,所以理想情况下我想让它工作。
谢谢

最佳答案

Laravel 使用 Str::class处理字符串,对于 mutator 的名称,它使用方法 camel .
以下字符串都将导致 getStartedTradingCAttribute

Str::camel('get started trading c attribute')
Str::camel('get started_trading_c attribute')
Str::camel(' get started___trading__________c attribute')
Str::camel('get____started __ trading __c ___attribute')
你需要声明的方法是 getStartedTradingCAttribute()更多详情(方法简单化)
public static function camel($value)
{
return lcfirst(static::studly($value));
}

public static function studly($value)
{
$key = $value;

$value = ucwords(str_replace(['-', '_'], ' ', $value));

return str_replace(' ', '', $value);
}
如您所见,所有 _ (下划线)替换为 (空格)然后在 studly() 中什么都没有

关于php - 如果列有 2 个连续的下划线,则使用访问器或修改器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62678696/

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