1.POST http://localhost/laravel/5withlaravel/public/api/products 500 (Internal Server Error)
因為數值欄位,前端傳數字
2.要輸入欄限制只能用數字 要type="number
3.要最新的 Product::orderBy('created_at','desc')->get();
4.要在產品表格用modelfactory 產生關聯到user model的user_id要 'user_id'=>App\User::all()->random()->id,
5.要從子原件傳作品到父原件,在用index刪除
swal("Deleted!", "Your imaginary file has been deleted.", "success");
this.$http.delete(`api/products/${item.id}`).then(res=>{
console.log(res);
console.log(this.products.indexOf(item)); <<<<<<<<<<<<<<<<<<<<<<<<<<<
let index=this.products.indexOf(item);
this.products.splice(index,1);
6.在產品加上是誰創造的 user_id,要在後端加
Product::create($request->all()+['user_id'=>Auth::id()]);
7.
在修改update時,要在後端show方法傳product的json資料給vue的前端顯示
後端
public function show($id){
$product=Product::find($id);
return response()->json($product);
}
前端
在methods然後用created hook 呼叫
getProduct(){
this.$http.get(`api/products/${this.$route.params.id}`).then(res=>{this.product=res.body;
console.log(res);
})
8. 沒有這個產品id
後 $product=Product::find($id);
if (count($product)) {
return response()->json($product);
# code...
}else{
return response()->json(['error'=>'沒這個東西'],404);
}
前
getProduct(){
this.$http.get(`api/products/${this.$route.params.id}`).then(res=>{this.product=res.body;
console.log(res);
}).catch(response=>{swal(response.status.toString(),response.body.error,"error");})//catch取決於status
9.vue interceptors的用法
Vue.http.interceptors.push((request, next) => { // ... // 请求发送前的处理逻辑 // ... next((response) => { // ... // 请求发送后的处理逻辑 // ... // 根据请求的状态,response参数会返回给successCallback或errorCallback return response }) })