Php 如何使用Laravel将随机默认图像插入数据库?
我正在开发一个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
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;
}
}