In my CRUD webapp based on Laravel 5.6 and Vue.js 2 Add, Edit and Show are working fine. But Delete is not working because axios.delete is not sending id to controller. Console.log in Home.vue is showing correct id and key values. Following is the code and result what I am getting in controller. Please tell my mistake. Also do I really need a Route for delete in web.php?
Controller
public function destroy(Sms $sms)
{
$myfile = fopen("newfile.txt", "w", true) or die("Unable to open file!");
$txt = "Print_r: ". print_r($sms) ."\r\nID: ". $sms->id;
//fwrite($myfile, $txt);
fwrite($myfile, print_r($sms, TRUE));
//die();
Sms::where('id',$sms->id)->delete();
}
Home.vue
del(key,id){
if(confirm("Are you sure?")){
this.loading = !this.loading
/*axios.delete(`/sms/${id}`)*/
axios.delete(`sms/${id}`, {params: {id: `${id}`}})
.then((response)=> {this.lists.splice(key,1);this.loading = !this.loading})
.catch((error)=> this.errors = error.response.data.errors)
console.log(`KEY:${key} ID:${id}`);
}
}
web.php
Route::delete('sms/{id}', 'smsController@destroy');
newfile.txt
App\Sms Object ( [hidden:protected] => Array ( [0] => created_at [1] => updated_at )
[connection:protected] =>
[table:protected] =>
[primaryKey:protected] => id
[keyType:protected] => int
[incrementing] => 1
[with:protected] => Array
(
)
[withCount:protected] => Array
(
)
[perPage:protected] => 15
[exists] =>
[wasRecentlyCreated] =>
[attributes:protected] => Array
(
)
[original:protected] => Array
(
)
[changes:protected] => Array
(
)
[casts:protected] => Array
(
)
[dates:protected] => Array
(
)
[dateFormat:protected] =>
[appends:protected] => Array
(
)
[dispatchesEvents:protected] => Array
(
)
[observables:protected] => Array
(
)
[relations:protected] => Array
(
)
[touches:protected] => Array
(
)
[timestamps] => 1
[visible:protected] => Array
(
)
[fillable:protected] => Array
(
)
[guarded:protected] => Array
(
[0] => *
)
)
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire