Context:
Home
When you tried to delete the Structure Checklist object, the following error occurred: mb_strpos() expects parameter 1 to be string, object given
How do I fix this?
DevToolsInformation:
JavaScriptfile:(checklistStructure-index.js)
$(document).on('click','#btnExcluirChecklistEstrutura',function(){$('#idChecklistEstruturaNome').text($(this).data('id'));$('#idChecklistEstrutura').val($(this).data('id'));});//Ajaxpararemoverumchecklistdeestrutura,eatualizarapáginaapósaação$('.removeChecklistEstrutura').click(function(){vardata_id=$('#idChecklistEstrutura').val();$.ajaxSetup({headers:{'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "/checklistsEstruturas/remove",
type: "POST",
data: {id: data_id}
}).done(function (response) {
console.log(response);
if (response.success) {
$('.message').text("Sucesso ao excluir");
$('.message').show();
setTimeout(function(){
location.reload();
}, 500);
}
else {
alert(response.error);
}
}).fail(function () {
$('.message').text("Erro ao excluir");
});
return false;
});
//Evento que preencherá o modal View do Checklist de Estrutura
$(document).on('click', '.btnViewChecklistEstrutura',function () {
$('#modalViewId').val(($(this).data('id')));
$('#modalViewModelo').val(($(this).data('modelo')));
$('#modalViewItem').val(($(this).data('item')));
});
Method removes ChecklistStructureController.php class
//Este método remove o contato do checklist de Estrutura
public function remove(Request $request)
{
$checklistEstrutura = ChecklistEstrutura::find($request->id);
if (!$checklistEstrutura)
return response()
->json(['error' => 'not_found'], 404);
$response = $checklistEstrutura->deletar($checklistEstrutura);
if($response['success'])
{
return response()
->json(['success' => $response['message']], 200);
}else
{
// Caso não delete, informa um erro inesperado
return redirect()
->json(['error' => $response['message']], 500);
}
}
Template: delete method ( Checklist Structure.php )
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use DB;
use SoftDeletes;
class ChecklistEstrutura extends Model
{
protected $table = "checklist_estrutura";
protected $primaryKey = ['Estrutura_id'];
public $incrementing = false;
public $timestamps = false;
public function checklistEstrutura()
{
return $this->belongsTo('App\Models\ChecklistEstrutura', 'Estrutura_id','modelo_id', 'itens_id');
}
//Este método salva os dados do Checklist da Estrutura
public function salvar(ChecklistEstrutura $checklistEstrutura) : Array
{
$checklistEstrutura = $this->save();
if($checklistEstrutura){
return[
'success' => true,
'message' => 'Sucesso ao cadastrar'
];
}
else{
return[
'success' => false,
'message' => 'Falha ao cadastrar'
];
}
}
//Este método remove os dados do Checklist da Estrutura
public function deletar(ChecklistEstrutura $checklistEstrutura) : Array
{
$checklistEstrutura = $this->delete();
if($checklistEstrutura){
return[
'success' => true,
'message' => 'Sucesso ao excluir'
];
}
else{
return[
'success' => false,
'message' => 'Falha ao excluir'
];
}
}
//Este método atualiza os dados do Checklist da Estrutura
public function alterar(ChecklistEstrutura $checklistEstrutura) : Array
{
$checklistEstrutura = $this->save();
if($checklistEstrutura){
return[
'success' => true,
'message' => 'Sucesso ao atualizar'
];
}
else{
return[
'success' => false,
'message' => 'Falha ao atualizar'
];
}
}
}
Checklist Routes : web.php )
//Gerenciar dados do ChecklistEstrutura
$this->group(['middleware' => ['auth'], 'namespace' =>'admin','prefix'=>'checklistsEstruturas'], function(){
//Inicio das Rotas de gerenciar os checklistsEstruturas
$this->post('cadastro','ChecklistEstruturaController@cadastro')->name('checklistEstrutura.cadastro');
$this->post('checklistEstrutura','ChecklistEstruturaController@consulta')->name('checklistEstrutura.consulta');
$this->post('atualiza', 'ChecklistEstruturaController@atualiza')->name('checklistEstrutura.atualiza');
$this->post('remove','ChecklistEstruturaController@remove')->name('checklistEstrutura.remove');
$this->get('edita/{id}','ChecklistEstruturaController@edita')->name('checklistEstrutura.edita');
$this->get('novo','ChecklistEstruturaController@novo')->name('checklistEstrutura.novo');
$this->get('checklistEstrutura','ChecklistEstruturaController@index')->name('admin.checklistEstrutura');
//Final das Rotas de gerenciar dados do checklistsEstruturas
});
DEVTOOLSinformation:(tryingtodeletetheobjectwithid=9)
Aba:Param
Aba:Response