1

我有一个 Eloquent 模型Article,它有一个列title_url,应该是唯一的,所以可能不存在两个article相同的 s title_url。如果两个这样的 s 已经存在,我不想返回错误article,我只想title_url默默地改变一个。所以不是super-articletitle_url而是super-article-2

我怎么能在 Laravel 4 中做到这一点?也许使用突变器?如果是,最好的方法是什么?

请记住,我希望title_url每次有必要时(更新、插入)都默默地进行转换。

4

1 回答 1

1

在 Laravel 4 的最新 Beta 4 版本中,现在有一个选项可以挂钩创建和更新事件:

添加了 Model::creating(Closure) 和 Model::updating(Closure) 方法,用于挂钩 Eloquent 保存事件。感谢 Phil Sturgeon 最终迫使我这样做...... :)

所以这似乎是你想要的完美契合。只需在模型中创建一个钩子create(),并创建一个简单的函数来检查title_url您要插入的 ,如果存在,将其更改为其他内容,然后插入。

于 2013-02-14T11:21:44.833 回答