我需要在数据库中创建5个记录。我有名称,价格和路径列。我想在数据库中添加列路径的图像,该图像应包含图像的名称,而不是使用工厂和Laravel的种子。
//PostFactory.php
use AppPost;
use FakerGenerator as Faker;
$factory->define(Post::class, function (Faker $faker) {
$filePath = public_path('images');
return [
'name' => $faker->name,
'price' => $faker->numberBetween($min = 100, $max = 900),
'path' => $faker->image($filePath,400,300),
];
});
//PostTableSeeder.php
use IlluminateDatabaseSeeder;
class PostTableSeeder extends Seeder
{
public function run()
{
factory(AppPost::class, 5)->create();
}
}
我希望只添加图像的名称,而不是我只有数据库中的整个路径。
根据Faker文档,该方法的签名是:
image($dir = null, $width = 640, $height = 480, $category = null, $fullPath = true, $randomize = true, $word = null)
在您的情况下,您可以使用'path' => $faker->image($filePath,400,300,null,false)
仅获取文件名。