【发布时间】:2018-11-06 17:15:29
【问题描述】:
我想用 str_slug 将列值转换为 slug 以在 where 子句中使用。我听说过Mutators & Accessors,也听说不能用来查询表。
此处已将名称转换为刀片中的 slug,我想将 name 字段与控制器中的 slug 匹配
型号
protected $fillable = ['name', 'price'];
表格
| ID | name | price
| 1 | ST SD | 7
| 2 | CA WA | 4
刀片
<a href="{{ route('buy', str_slug($item->name)]) }}">Buy Now</a>
控制器
public function buy($name){
$item = Name::where('name' => $name)->first();
}
在控制器中,我想将 name 字段转换为 slug 以匹配刀片中 $item->name 的 slugged 值
【问题讨论】:
-
在表格中添加一个 slug 列这样您就可以
Name::where('slug' => $slug)->first();会不会更容易。我准备好了一个函数,它为模型创建 slug 并检查它是否唯一以将增量添加到字符串的末尾 -
同意@Taacoo,你必须为
slug创建一个单独的列,你可以根据需要添加唯一的约束。然后您可以使用 Sahil Gupta 答案生成独特的 slug。 -
您能否就答案提供反馈?
标签: php laravel eloquent slug accessor