Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 4.1型号::启动不总是启动_Laravel_Laravel 4 - Fatal编程技术网

Laravel 4.1型号::启动不总是启动

Laravel 4.1型号::启动不总是启动,laravel,laravel-4,Laravel,Laravel 4,我决定遵循我看到的各种“最佳实践”建议,并将Event::listen代码放入相关模型的Model::boot静态方法中。这对其中的六个完全有效,而对其他人则完全无效 所有扩展都来自同一基类(该基类依次扩展\illumb\Database\elount\Model) 所有这些都使用公共静态函数boot()方法 都使用相同的\Event::listen('Event',function(){})格式 多个侦听器没有问题,我可以将两个侦听器放在同一个工作模型中,它们都会触发,但在非工作模型中不会触发

我决定遵循我看到的各种“最佳实践”建议,并将
Event::listen
代码放入相关模型的
Model::boot
静态方法中。这对其中的六个完全有效,而对其他人则完全无效

所有扩展都来自同一基类(该基类依次扩展
\illumb\Database\elount\Model

所有这些都使用
公共静态函数boot()
方法

都使用相同的
\Event::listen('Event',function(){})格式

多个侦听器没有问题,我可以将两个侦听器放在同一个工作模型中,它们都会触发,但在非工作模型中不会触发任何侦听器

甚至没有任何代码可以粘贴,我使用的是按书(据我所知)编写的代码

没有抛出异常,没有记录错误,它只是不运行。我可以将代码c&p转换为一个“工作”模型,它将完全按照预期工作


是否有一些模糊的问题或细微差别我错过了?这种前后矛盾令人恼火

您是否在代码中实际使用了该模型?Laravel lazy auto loads—因此我认为它不会在需要之前引导模型?

您是否在代码中实际使用了该模型?Laravel lazy自动加载-所以我不认为它将引导模型,直到需要它?(虽然我不是100%确定)哦,该死,那很可能就是它了。我有一大堆模型,但不能保证在监听火灾事件时已经使用了任何给定的模型。这令人难以置信地失望,因为这将是划分事件的完美方式。所以-等等-您正在尝试监控模型中的模型事件。或者您正在尝试监视模型中的整个应用程序事件?看起来你是在尝试后一种模式?我的想法是在后一种模式中倾听(例如)
user.joined.company
,因为在这种情况下,公司将根据用户的行为行事。现在显而易见的问题是,公司模式可能没有在任何地方使用过,因此不会被采纳。我只需要把这些事件转移到演员的课堂上就行了。你的第一个评论是我需要调整思维的方式才能走上正轨,如果你把它转移到一个答案上,我会接受的。
class MyClass extends \Illuminate\Database\Eloquent\Model
{
  public static function boot()
  {
    \Event::listen('my.event', function($arg1, $arg2){
      \Log::debug("This may or may not trigger.");
    });
  }
}