0
我想驗證我的模型是有效的,當我保存或更新它。 所以我創建了一個名爲EloquentValidating的類,我從中擴展了我的所有模型的類。 這裏是EloquentValidating我開機功能:Laravel 5.1:啓動功能不叫
public static function boot()
{
parent::boot();
static::creating(function($item)
{
if(!$item->isValid()) return false;
});
static::updating(function($item)
{
if(!$item->isValid()) return false;
});
}
我的問題是,開機不會被調用。我已經在其中設置了一個斷點,它從來沒有動搖過。所以我的模型在保存前沒有驗證。
我有另一個項目使用相同的邏輯,它工作。唯一的區別是我可以看到的事實是,我在另一個項目中有命名空間,而不是在這個項目中。所以失敗類被定義爲
use Illuminate\Database\Eloquent\Model;
class EloquentValidating extends Model {
而工作一個被定義爲:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class EloquentValidating extends Model {
可能的命名空間導致這樣那樣的問題,爲什麼??? 如果我必須介紹命名空間,我會的,但我想明白爲什麼它是原因。
感謝 伯努瓦
沒有工作產生。這個系統是GIT最新的,所以我必須在之前做一個作曲家更新。所有生成的文件都是新的。 –
好吧,我已經添加了命名空間,然後這樣做了,然後它工作。 –
太棒了!很高興聽到這個消息 – manix