Php 与文章一起保存图像的问题
我很确定这是一个noob问题,尽管我习惯于PHP,但不习惯于Laravel 我的目标再简单不过了,我希望能够写一篇文章并向其中添加一个图像,但即使我让上传系统正常工作(这不是小菜一碟),我在保存文件名本身时也遇到了问题 下面是我如何进行的:Php 与文章一起保存图像的问题,php,rest,file-upload,laravel-5,Php,Rest,File Upload,Laravel 5,我很确定这是一个noob问题,尽管我习惯于PHP,但不习惯于Laravel 我的目标再简单不过了,我希望能够写一篇文章并向其中添加一个图像,但即使我让上传系统正常工作(这不是小菜一碟),我在保存文件名本身时也遇到了问题 下面是我如何进行的: use App\Photo; use Illuminate\Http\Request; use Intervention\Image\Facades\Image; public function store(Request $request) {
use App\Photo;
use Illuminate\Http\Request;
use Intervention\Image\Facades\Image;
public function store(Request $request)
{
$file = $request->file('image');
$originalname = $file->getClientOriginalName();
$path = 'uploads/' . $originalname;
Image::make($file)->save($path);
$product = new Photo(array(
'name' => $request->get('name'),
'image' => $originalname
));
$product->save();
return \Redirect::route('photo.index', array($product->id))->with('message', 'Product added!');
}
这是我的迁移文件,如果有帮助的话:
public function up()
{
Schema::create('photos', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('image');
$table->timestamps();
});
}
因此,我想将文件名保存为数据库中的字符串,以便稍后调用它,如使用$product->image
,但我遇到以下错误:
SQLSTATE[HY000]: General error: 1364 Field 'image' doesn't have a default value (SQL: insert into `photos` (`name`, `updated_at`, `created_at`) values (sisdjfposd, 2017-05-31 22:42:18, 2017-05-31 22:42:18))
所以我知道它的意思,我不喜欢它,因为它应该有一个值:如果我添加die($originalname)
在$product=new Photo array(
)行之前,我获取文件名,因此从逻辑上讲,变量不是空的
那我为什么会犯这个错误?我是不是遗漏了什么
提前谢谢你我想你错过了在批量作业中添加
图像
字段
在您的照片模型中,只需添加:
protected $fillable = ['name', 'image'];
有关批量分配的详细信息:
@Jaeger,如果答案解决了您的问题,请接受