CodeIgniter Forums
Shield remove deleted at to user - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: CodeIgniter 4 (https://forum.codeigniter.com/forumdisplay.php?fid=28)
+--- Forum: CodeIgniter 4 Addins (https://forum.codeigniter.com/forumdisplay.php?fid=34)
+--- Thread: Shield remove deleted at to user (/showthread.php?tid=92632)



Shield remove deleted at to user - pippuccio76 - 03-20-2025

i i try to remove deleted at symply by :

Code:
      $data_to_update = [

        'deleted_at' => NULL,
      ];

      $users_model->update($id, $data_to_update);

But i receive There is no data to update, i control $id it'ok


RE: Shield remove deleted at to user - InsiteFX - 03-20-2025

Did you try using set?

PHP Code:
// this also depends on $allowedFields
set('deleted_at'NULL); 



RE: Shield remove deleted at to user - warcooft - 03-21-2025

Determine what fields can be modified in the $allowedFields property in the model, make sure deleted_at field exists.


RE: Shield remove deleted at to user - datamweb - 03-28-2025

In your custom model, add the field as follows:


PHP Code:
<?php

declare(strict_types=1);

namespace 
App\Models;

use 
CodeIgniter\Shield\Models\UserModel as ShieldUserModel;

class 
UserModel extends ShieldUserModel
{
    protected function initialize(): void
    
{
        parent::initialize();

        $this->allowedFields = [
            ...$this->allowedFields,

            // 'first_name',
            'deleted_at',
        ];
    }


Then, register the new model in the Auth.php file:
PHP Code:
-use CodeIgniter\Shield\Models\UserModel;
+use 
App\Models\UserModel

Finally, use it like this:

PHP Code:
auth()->getProvider()->update($id,  [
  'deleted_at' => NULL,
]);