Php 值在从nuxt.js发布到laravel后变为null
我有一个nuxt.js前端正在向我的laravel后端发送post请求。 当我发送请求时,我得到了这个响应Php 值在从nuxt.js发布到laravel后变为null,php,laravel,post,nuxt.js,Php,Laravel,Post,Nuxt.js,我有一个nuxt.js前端正在向我的laravel后端发送post请求。 当我发送请求时,我得到了这个响应 "message": "SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' cannot be null (SQL: insert into `cars` (`title`, `previewText`, `fuel`, `gearbox`, `brand`, `model`, `year`, `mile
"message": "SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' cannot be null (SQL: insert into `cars` (`title`, `previewText`, `fuel`, `gearbox`, `brand`, `model`, `year`, `miles`, `price`, `carType`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 2019-08-15 13:07:00, 2019-08-15 13:07:00))",
"exception": "Illuminate\\Database\\QueryException",
所以我猜控制器从未收到这些值
以下是请求:
createCar(e) {
e.preventDefault()
this.isCreatingCar = true
const formData = new FormData()
formData.append('title', this.title)
formData.append('previewText', this.previewText)
formData.append('fuel', this.fuel)
formData.append('gearbox', this.gearbox)
formData.append('brand', this.brand)
formData.append('model', this.model)
formData.append('year', this.year)
formData.append('miles', this.miles)
formData.append('price', this.price)
$.each(this.imageList, function(key, image) {
formData.append(`images[${key}]`, image)
})
this.$axios.post('/create_car', { data: formData }).then(res => {
this.status = true
this.isCreatingCar = false
})
},
控制器中的功能:
public function createCar(Request $request) {
$title = $request->title;
$previewText = $request->previewText;
$fuel = $request->fuel;
$gearbox = $request->gearbox;
$brand = $request->brand;
$model = $request->model;
$year = $request->year;
$miles = $request->miles;
$price = $request->price;
$carType = $request->carType;
$images = $request->images;
$car = Car::create([
'title' => $title,
'previewText' => $previewText,
'fuel' => $fuel,
'gearbox' => $gearbox,
'brand' => $brand,
'model' => $model,
'year' => $year,
'miles' => $miles,
'price' => $price,
'carType' => $carType
]);
// store each image
foreach($images as $image) {
$imagePath = Storage::disk('uploads')->put('/cars' . '/' . $car->id, $image);
carImage::create([
'carImageCaption' => $title,
'carImagePath' => 'uploads' . $imagePath,
'carId' => $car->id
]);
}
return response()->json(['errors' => false, 'data' => $car]);
}
表格如下:
<form @submit.prevent="createCar">
<div class="form-group">
<label>Titel</label>
<input
v-model="title"
class="form-control"
required
:class="{ 'is-invalid': errors.title }"
placeholder="Titel"
/>
<div v-if="errors.title" class="invalid-feedback">
{{ errors.title[0] }}
</div>
</div>
<div class="form-group">
<label>Beskrivning</label>
<textarea
v-model="previewText"
class="form-control"
placeholder="Beskrivning"
/>
</div>
<div class="form-group">
<label>Bränsle</label>
<b-form-select v-model="fuel" class="mb-3 form-control">
<option value="Bensin">Bensin</option>
<option value="Diesel">Diesel</option>
<option value="El">El</option>
<option value="Hybrid">Hybrid</option>
</b-form-select>
</div>
<div class="form-group">
<label>Växellåda</label>
<b-form-select v-model="gearbox" class="mb-3 form-control">
<option value="Automat">Automat</option>
<option value="Manuell">Manuell</option>
</b-form-select>
</div>
<div class="form-group">
<label>Märke</label>
<input
v-model="brand"
class="form-control"
required
:class="{ 'is-invalid': errors.brand }"
placeholder="Märke"
/>
<div v-if="errors.brand" class="invalid-feedback">
{{ errors.brand[0] }}
</div>
</div>
<div class="form-group">
<label>Modell</label>
<input
v-model="model"
class="form-control"
required
:class="{ 'is-invalid': errors.model }"
placeholder="Modell"
/>
<div v-if="errors.model" class="invalid-feedback">
{{ errors.model[0] }}
</div>
</div>
<div class="form-group">
<label>Årsmodell</label>
<input v-model="year" class="form-control" type="number" />
</div>
<div class="form-group">
<label>Miltal</label>
<input v-model="miles" class="form-control" type="number" />
</div>
<div class="form-group">
<label>Pris</label>
<input
v-model="price"
class="form-control"
required
:class="{ 'is-invalid': errors.price }"
type="number"
/>
<div v-if="errors.price" class="invalid-feedback">
{{ errors.price[0] }}
</div>
</div>
<div class="form-group">
<b-form-file
v-model="imageList"
placeholder="Välj fil.."
drop-placeholder="Släpp filen här.."
multiple
></b-form-file>
</div>
<div class="form-group">
<input
type="submit"
value="Lägg till"
class="btn btn-default w-100"
/>
</div>
</form>
滴度
{{errors.title[0]}
涂鸦
布朗斯勒
本辛
柴油机
埃尔
混合的
Växellåda
自动装置
曼纽尔
马尔克
{{errors.brand[0]}
模特儿
{{errors.model[0]}
Årsmodell
弥尔顿
普里斯
{{errors.price[0]}
告诉我,如果我能提供其他东西
我对PHP完全陌生,所以我不太熟悉PHP中的调试,甚至不太熟悉如何找到问题的根源
我大部分时间都在编程.net,所以请对我温柔一点:D
编辑:我注意到问题似乎在于POST请求被视为get
错误:
此路由不支持GET方法。支持的方法:POST.
如果您在请求中获得了数据(您可以使用dd($request->all())进行检查;
),您可能没有在模型中设置$filled
字段
如果这是原因,你可以阅读更多关于
祝你好运 如果您在请求中获得了数据(您可以使用
dd($request->all());
),您可能没有在模型中设置$filleble
字段
如果这是原因,你可以阅读更多关于
祝你好运
var\u dump($title)
?可能显示您的表单,也可能显示formData来自何处;在axios promise block中?可以dd($request->all())代码>查看您在请求中得到了什么?我更新了问题,dd和var_dump做什么?我在XamppIt上运行服务器,即使在请求var\u dump($title)
?可能显示您的表单,也可能显示formData来自何处;在axios promise block中?可以dd($request->all())代码>查看您在请求中得到了什么?我更新了问题,dd和var_dump做什么?我在XamppIt上运行服务器,看起来formData甚至在请求之前都是空的