我想在数据库 table 中添加图像名称,而不是图像的整个路径,我想使用 Factory 和 Seeds
I want to add in database table just name of image, NOT a whole path of image and I want to do with Factory and Seeds
我需要在数据库中创建 5 条记录。我有名称、价格和路径列。我想为数据库中的列路径添加图像,它应该包含图像名称而不是整个路径,只使用来自 Laravel 的工厂和种子。
//PostFactory.php
use App\Post;
use Faker\Generator 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 Illuminate\Database\Seeder;
class PostTableSeeder extends Seeder
{
public function run()
{
factory(App\Post::class, 5)->create();
}
}
我希望只添加图像的名称,而不是我在数据库中只有整个路径。
根据Faker documentation,方法的签名是:
image($dir = null, $width = 640, $height = 480, $category = null, $fullPath = true, $randomize = true, $word = null)
对于您的情况,您可以使用 'path' => $faker->image($filePath,400,300,null,false)
来仅获取文件名。
我需要在数据库中创建 5 条记录。我有名称、价格和路径列。我想为数据库中的列路径添加图像,它应该包含图像名称而不是整个路径,只使用来自 Laravel 的工厂和种子。
//PostFactory.php
use App\Post;
use Faker\Generator 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 Illuminate\Database\Seeder;
class PostTableSeeder extends Seeder
{
public function run()
{
factory(App\Post::class, 5)->create();
}
}
我希望只添加图像的名称,而不是我在数据库中只有整个路径。
根据Faker documentation,方法的签名是:
image($dir = null, $width = 640, $height = 480, $category = null, $fullPath = true, $randomize = true, $word = null)
对于您的情况,您可以使用 'path' => $faker->image($filePath,400,300,null,false)
来仅获取文件名。