laravel - 区分大小写在带有大写字母的服务器上的 sluggable 中不起作用
问题描述
我在 Laravel 中使用sluggable包。当我用大写或小写存储相同的字母时,它不知道它们是相同的!例如 'myFlower' 和 'myflower' 分配不同的案例。如果有人有想法,我会很高兴?
class testController extends Model
{
use Sluggable;
protected $fillable = [
'name', 'slug',
];
public function sluggable()
{
return [
'slug' => [
'source' => 'name'
]
];
}
public function getRouteKeyName()
{
return 'slug';
}
}
解决方案
您可以尝试添加一个新的访问器并将其用作这样的源:
class testController extends Model
{
use Sluggable;
protected $fillable = [
'name', 'slug',
];
public function sluggable()
{
return [
'slug' => [
'source' => 'lowercase_name'
]
];
}
public function getRouteKeyName()
{
return 'slug';
}
public function getLowercaseNameAttribute() {
return strtolower($this->name);
}
}
推荐阅读
- mongodb - flask_mongo_engine 如何按 create_time desc 对订单进行分页?
- c# - 如何制作整个按钮图像
- ruby-on-rails - Glassfish 服务器设置
- javascript - Why inner functions are called before outer functions?
- ruby-on-rails - 如何使用 gem 移动性按区域过滤记录?
- reactjs - TypeError:无法读取 React 中未定义的属性“标题”
- java - 用于java代码编译的SVN预提交钩子
- java - 带有德语语言环境的 SimpleDateFormat 是否应该能够解析带有时区 CEST 的字符串?
- python - 在 Python 中读取直接访问二进制文件格式
- angular - JHipster - *jhiHasAnyAuthority 指令 - 在用户时显示一件事,在管理员时显示另一件事