Bak*_*ems 2 php instanceof slug laravel laravel-4
我正在尝试使用这里找到的Laravel缓存包:https://github.com/cviebrock/eloquent-sluggable
当我保存模型(例如产品)时,可缓存的功能不会使我的模型变得迟钝.这是今天全新安装的Laravel.
我可以看到事件监听器触发(SluggableServiceProvider.php中的第43行),但似乎if($ model instanceof SluggableInterface)语句永远不会返回true并且永远不会使我的模型变得迟钝.这可能是名称间距问题吗?还有其他想法吗?
这是我的产品型号:
<?php
use Cviebrock\EloquentSluggable\SluggableInterface;
use Cviebrock\EloquentSluggable\SluggableTrait;
class Product extends Eloquent {
use SluggableTrait;
protected $sluggable = array(
'build_from' => 'title',
'save_to' => 'slug',
);
}
Run Code Online (Sandbox Code Playgroud)
当然,我可以通过执行以下操作来手动运行sluggify方法:
$product->sluggify();
Run Code Online (Sandbox Code Playgroud)
但我想坚持最佳实践,并尝试在触发模型保存事件时使缓慢的代码自动工作.
加入implements SluggableInterface你的Product班级
class Product extends Eloquent implements SluggableInterface
{
}
Run Code Online (Sandbox Code Playgroud)
github上的演示代码:
https://github.com/cviebrock/eloquent-sluggable#updating-your-eloquent-models