Php Laravel从模型工厂调用控制器函数
我正在我的Laravel 5.5项目中构建一些测试 在我的GalleryFactory中,我需要生成一个“链接”,我已经在GallerySController的函数中编写了这段代码,如下所示Php Laravel从模型工厂调用控制器函数,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在我的Laravel 5.5项目中构建一些测试 在我的GalleryFactory中,我需要生成一个“链接”,我已经在GallerySController的函数中编写了这段代码,如下所示 private function generateUrlLink() { $generatedLink = str_random(8); $existingGalleryWithGeneratedLink = Gallery::where('link', $generatedLink)-&
private function generateUrlLink()
{
$generatedLink = str_random(8);
$existingGalleryWithGeneratedLink = Gallery::where('link', $generatedLink)->first();
while (!is_null($existingGalleryWithGeneratedLink)) {
$generatedLink = str_random(8);
$existingGalleryWithGeneratedLink = Gallery::where('link', $generatedLink)->first();
}
return $generatedLink;
}
我不想在控制器和工厂中编写两次此代码,因为我可能希望有一天修改它,所以我想知道最好的方法是什么
任何帮助都会很棒
谢谢。最好的方法是在雄辩的模型中而不是在控制器中编写此函数,然后从模型中调用此函数
public static function generateUrlLink()
{
$generatedLink = str_random(8);
$existingGalleryWithGeneratedLink = Gallery::where('link', $generatedLink)->first();
while (!is_null($existingGalleryWithGeneratedLink)) {
$generatedLink = str_random(8);
$existingGalleryWithGeneratedLink = Gallery::where('link', $generatedLink)->first();
}
return $generatedLink;
}
希望这能起作用。谢谢你。。。如果它是一个私有的静态函数,我将如何从控制器或模型工厂调用它呢;假设Gallery是类名