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
Php 如何使用Laravel将随机默认图像插入数据库?_Php_Laravel_Laravel 5.2 - Fatal编程技术网

Php 如何使用Laravel将随机默认图像插入数据库?

Php 如何使用Laravel将随机默认图像插入数据库?,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我正在开发一个Laravel应用程序。它有一个表单,其中有图像上传字段,它也不是必填字段。现在我想做的是,如果任何人提交表单时没有上传图像,那么默认的随机图像将从public/images/default目录插入数据库。我怎么能和拉威尔一起做呢?我有10张该目录的图片(例如:1b.png、2b.png、3b.png……) 提交 将此代码添加到控制器操作中 $images = scandir(public_path('images/default')); $image = $request-&g

我正在开发一个Laravel应用程序。它有一个表单,其中有图像上传字段,它也不是必填字段。现在我想做的是,如果任何人提交表单时没有上传图像,那么默认的随机图像将从
public/images/default
目录插入数据库。我怎么能和拉威尔一起做呢?我有10张该目录的图片(例如:1b.png、2b.png、3b.png……)


提交

将此代码添加到控制器操作中

$images = scandir(public_path('images/default'));
$image = $request->file('DefaultImageName', $images[mt_rand(0, count($images -1))]);

我不建议将图像存储在数据库中。我通常采用的方法是,在数据库中存储文件的名称、别名和路径

您可以根据您在应用程序上使用的模式来执行此操作,但对于您的情况,我要做的是创建一个变种,在您要插入记录时进行验证,如果某个字段为空,它会执行某些操作(如果您使用的是Elount,我假定)

否则,我会创建一个formrequest来验证某个字段是否为空,我会在其中放置一些内容(这样,当它到达插入代码时,它已经包含一个图像)


您需要在此处发布您的laravel代码。如果有人添加图像,则您的代码是否有效?@ChoncholMahmud,将有效,$images-默认文件夹中的所有图像。看见
$images = scandir(public_path('images/default'));
$image = $request->file('DefaultImageName', $images[mt_rand(0, count($images -1))]);
public function setImageAttribute($value)
{    
   if (empty($value)) {
    $this->attributes['image'] = //fetch your image and apply your logic
   } else { 
    $this->attributes['image'] = value;
   }

}