来自 PHPFaker 的图像存储在 storage/app/public/news 文件夹中时被删除
Images from PHPFaker got deleted when stored in storage/app/public/news folder
我有两个表 news
和 images
。这两个表具有一对多关系(一个是新闻)。我正在尝试在图像上创建一个工厂,但在我使用种子迁移后,图像立即保存到新闻目录,但一秒钟后它被删除,数据库中的路径 returns news
。我读过这个 但是 laravel 8.4(我当前的 laravel 项目)使用 phpfaker,所以我想它现在已经被弃用了。
ImageFactory.php 文件
<?php
namespace Database\Factories;
use App\Models\Image;
use Illuminate\Database\Eloquent\Factories\Factory;
class ImageFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Image::class;
/**
* State dari gambarnya,
* pilih satu [news, packages, destinations]
*/
public function news()
{
return $this->state(function (array $attributes) {
return [
'role' => 'news',
];
});
}
public function packages()
{
return $this->state(function (array $attributes) {
return [
'role' => 'packages',
];
});
}
public function destinations()
{
return $this->state(function (array $attributes) {
return [
'role' => 'destinations',
];
});
}
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'path' => 'news' . '/' . $this->faker->image(storage_path('app/public/news'), 2000, 1500, null, false),
];
}
}
storage/app/public
和 storage/app/public/news
有 .gitignore
文件。我不知道这是否相关,因为我的同事迁移种子没有任何问题。
参考,你只需要转到供应商PHPFaker上的Images.php
文件并添加这些代码
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
在$success = curl_exec($ch) && curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200;
之前
我有两个表 news
和 images
。这两个表具有一对多关系(一个是新闻)。我正在尝试在图像上创建一个工厂,但在我使用种子迁移后,图像立即保存到新闻目录,但一秒钟后它被删除,数据库中的路径 returns news
。我读过这个
ImageFactory.php 文件
<?php
namespace Database\Factories;
use App\Models\Image;
use Illuminate\Database\Eloquent\Factories\Factory;
class ImageFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Image::class;
/**
* State dari gambarnya,
* pilih satu [news, packages, destinations]
*/
public function news()
{
return $this->state(function (array $attributes) {
return [
'role' => 'news',
];
});
}
public function packages()
{
return $this->state(function (array $attributes) {
return [
'role' => 'packages',
];
});
}
public function destinations()
{
return $this->state(function (array $attributes) {
return [
'role' => 'destinations',
];
});
}
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'path' => 'news' . '/' . $this->faker->image(storage_path('app/public/news'), 2000, 1500, null, false),
];
}
}
storage/app/public
和 storage/app/public/news
有 .gitignore
文件。我不知道这是否相关,因为我的同事迁移种子没有任何问题。
参考Images.php
文件并添加这些代码
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
在$success = curl_exec($ch) && curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200;