gpt4 book ai didi

PHP Laravel cviebrock/eloquent-sluggable 不工作因为 "instanceof SluggableInterface"总是返回 false

转载 作者:行者123 更新时间:2023-12-02 06:59:42 26 4
gpt4 key购买 nike

我正在尝试使用在这里找到的 Laravel 的 sluggable 包: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',
);
}

当然,我可以通过执行以下操作来手动运行 sluggify 方法:

$product->sluggify();

但我想遵循最佳实践并尝试让 sluggify 代码在模型保存事件被触发时自动运行。

最佳答案

implements SluggableInterface 添加到您的 Product

class Product extends Eloquent implements SluggableInterface 
{

}

github上的演示代码:

https://github.com/cviebrock/eloquent-sluggable#updating-your-eloquent-models

关于PHP Laravel cviebrock/eloquent-sluggable 不工作因为 "instanceof SluggableInterface"总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23421140/

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