Codeigniter-错误-没有要更新的数据



我本想更新数据库,但我收到了错误,"没有要更新的数据";。这是我的剧本;

我创建了一个简单的切换来更新数据库。切换使用户处于活动状态(is_active=1(或非活动状态(is _active=0(。我遇到的问题是,尽管对象从1变为0或从0变为1,但当我将其传递给模型时,它会返回错误";没有要更新的数据";。方法如下:;

命名空间App\Controllers\Admin;

使用App\Entitys\User;

类用户扩展\App\Controllers\BaseController{私人$模式;

public function __construct()
{
$this->model = new AppModelsUserModel;
}

public function toggle_user_is_active($id)
{
$users = $this->model->where('id', $id)->first();  // get the record
// if the current user is ACTIVE, then set it to DEACTIVE
if ($users->is_active == 1) {
$users->is_active = 0; 
$this->model->save($users));  // gives an error, nothing to update
return redirect()->to('/Admin/Users/index')
->with('info', 'Success - User deactivated');
} else {
// if the current used is ACTIVE(1), change to INACTIVE(0)
$users->is_active = 1; 
$this->model->save($users); // same error as above
return redirect()->to('/Admin/Users/index')
->with('info', 'Success - User Activated');
}
} // end method
}

真正奇怪的是,这是另一种方法的复制品,其工作原理如下;

namespace AppControllersAdmin;
use AppEntitiesCategoryEntity;
use AppEntitiesPostEntity;
class Post extends AppControllersBaseController
{
private $model;
public function __construct()
{
$this->model = new AppModelsPostModel;
$this->CategoryModel = new AppModelsCategoryModel;
$auth = new AppLibrariesAuthentication;
$this->current_user = $auth->getCurrentUser();
}
public function toggle_post_is_published($post_id)
{
$post = $this->model->where('post_id', $post_id)->first();
// if the current post is PUBLISHED, then set it to UNPUBLISHED
if ($post->post_is_published == 1) {
echo
$post->post_is_published = 0;
$this->model->save($post);
return redirect()->to('/admin/post/post_index')
->with('info', 'Success - Post unpublished');
} else {
// if the current post is UNPUBLISHED, then set it to PUBLISHED
$post->post_is_published = 1;
$this->model->save($post);
return redirect()->to('/admin/post/post_index')
->with('info', 'Success - Post published');
}
}
} // end class

我终于想通了。在我的UserModel中,我没有将"is_active"添加到受保护的$allowedFields中。我现在已经将"is_active"添加到allowedFields中,并且它有效。

您是否声明了您的模型,因为看起来您使用了$this->模型,但不在构造函数或其他方法中设置模型。

相关内容

  • 没有找到相关文章

最新更新