【发布时间】:2021-10-31 22:48:59
【问题描述】:
我在 laravel 7 上使用多张图片上传器,为此我准备了 2 张桌子 1 关于图片的信息发布 2 图片上传器 并且我已经在图片上传表中添加了外键约束,并且我使用模型关系来连接这两个表,但是我遇到了这个问题。
SQLSTATE[42S22]:Column not found: 1054 Unknown column 'Uploade_Images' in 'field list'
而且我已经看到了有关此问题的过去问题,但没有一个对我的问题有帮助。这是我下面的代码
迁移表
public function up()
{
Schema::create('imagesOfVenues', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->string('Name_of_Venue')->nullable();
$table->text('location')->nullable();
$table->text('Number_of_sits')->nullable();
});
}
//The Photo Uploader table
public function up()
{
Schema::create('venuesPhoto', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->integer('imagesOfVenues_id')->unsigned();
$table->foreign('imagesOfVenues_id')->references('id')->on('imagesOfVenues');
$table->string('Uploade_Images')->nullable();
});
}
型号
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class venuesPhoto extends Model
{
protected $table = 'venuesPhoto';
protected $primaryKey = 'id';
protected $fillable = ['Uploade_Images', 'imagesOfVenues_id'];
public function imagesOfVenues()
{
return $this->belongsTo('App\Models\imagesOfVenue', 'id', 'imagesOfVenues_id');
}
}
//The other model
class imagesOfVenue extends Model
{
protected $table = 'imagesOfVenues';
protected $primaryKey = 'id';
protected $guarded = [];
public function venuesPhoto()
{
return $this->hasMany('App\Models\venuesPhoto');
}
}
控制器
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Models\imagesOfVenue;
use Illuminate\Http\Request;
class imagesOfVenueController extends Controller
{
public function store(Request $request)
{
$requestData = $request->all();
if ($request->hasFile('Uploade_Images')) {
$extension = $request->Uploade_Images->extension();
$requestData['Uploade_Images'] = $request->file('Uploade_Images')
->store('uploads', 'public');
}
imagesOfVenue::create($requestData);
return redirect('admin/images-of-venue')->with('flash_message', 'imagesOfVenue added!');
}
}
查看表格
<div class="form-group {{ $errors->has('Name_of_Venue') ? 'has-error' : ''}}">
<label for="Name_of_Venue" class="control-label">{{ 'Name_of_Venue' }}</label>
<input class="form-control" name="Name_of_Venue" type="text" id="Name_of_Venue" value="{{ isset($imagesofvenue->Name_of_Venue) ? $imagesofvenue->Name_of_Venue : ''}}" >
{!! $errors->first('Name_of_Venue', '<p class="help-block">:message</p>') !!}
</div>
<div class="form-group {{ $errors->has('location') ? 'has-error' : ''}}">
<label for="location" class="control-label">{{ 'Location' }}</label>
<textarea class="form-control" rows="5" name="location" type="textarea" id="location" >{{ isset($imagesofvenue->location) ? $imagesofvenue->location : ''}}</textarea>
{!! $errors->first('location', '<p class="help-block">:message</p>') !!}
</div>
<div class="form-group {{ $errors->has('Number_of_sits') ? 'has-error' : ''}}">
<label for="Number_of_sits" class="control-label">{{ 'Number_of_sits' }}</label>
<textarea class="form-control" rows="5" name="Number_of_sits" type="textarea" id="Number_of_sits" >{{ isset($imagesofvenue->Number_of_sits) ? $imagesofvenue->Number_of_sits : ''}}</textarea>
{!! $errors->first('Number_of_sits', '<p class="help-block">:message</p>') !!}
</div>
<div class="form-group {{ $errors->has('Uploade_Images') ? 'has-error' : ''}}">
<label for="Uploade_Images" class="control-label">{{ 'Uploade_Images' }}</label>
<input class="form-control" name="Uploade_Images" type="file" id="Uploade_Images" value="{{ isset($imagesofvenue->Uploade_Images) ? $imagesofvenue->Uploade_Images : ''}}" >
{!! $errors->first('Uploade_Images', '<p class="help-block">:message</p>') !!}
</div>
<div class="form-group">
<input class="btn btn-primary" type="submit" value="{{ $formMode === 'edit' ? 'Update' : 'Create' }}">
</div>
路线
Route::resource('admin/images-of-venue', 'Admin\\imagesOfVenueController');
【问题讨论】:
-
您正在尝试将包含 Uploade_Images 的 $request 存储到没有该列的 imagesOfVenue 中。
-
是的,我明白这一点。如何将图像存储到另一个表中?
-
你能告诉我它是怎么做的吗?
-
改用
venuesPhoto?如果您在$request中有两个表的数据,那么您将不得不自己构建插入/创建值。 -
我试过了,但没有用,它说 SQLSTATE[HY000]: 一般错误:1364 字段 'imagesOfVenues_id' 没有默认值。到目前为止,该课程没有任何问题,问题是,我如何将 uploade_image 从场地表传递到 imagesOfVenue 控制器以及 imageOfVenue 数据
标签: php mysql laravel laravel-7