我正在使用一种方法来查找要更改的记录。请遵循代码:
public function findId($id)
{
$subCategoria = $this->model::join(
'categoria', 'categoria.id', '=', 'sub_categoria.id_categoria')
->select(
'sub_categoria.id AS id_sub_categoria',
'sub_categoria.nome AS nome_sub_categoria',
'categoria.nome AS nome_categoria',
'categoria.id as id_categoria'
)
->where('sub_categoria.id', $id)
->where(
'sub_categoria.id_unidade_de_trabalho',
Auth::user()->id_unidade_de_trabalho
)
->where(
'categoria.id_unidade_de_trabalho',
Auth::user()->id_unidade_de_trabalho
)
->whereNull('sub_categoria.deleted_at')
->whereNull('categoria.deleted_at')
->first();
return $subCategoria;
}
我的更新方法如下:
public function update(array $data, $id)
{
$model = $this->findId($id);
$model->nome = $data['nome'];
$model->id_categoria = $data['id_categoria'];
return $model->save();
}
有趣的是,当我使用从Model扩展的find方法时,它可以工作!