0

我是 CakePHP 的新手,我想从我的自定义库迁移到 CakePHP。

在我的自定义库中,我有这样的用户属性:

auth_users表知道“user_ids”:

CREATE TABLE IF NOT EXISTS `auth_users` (
  `id` int(11) NOT NULL,
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

auth_user_attributes存储“用户属性”的表:

CREATE TABLE IF NOT EXISTS `auth_user_attributes` (
  `user_id` int(11) NOT NULL,
  `attribute` text NOT NULL,
  `value` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

因此,每当我想要一个 user_id 的用户时,我的自定义库都会返回$system->auth->user->get(1)

Array(
    'fullname' => 'José Moreira',
    'username' => 'Cuss',
    ...
)

如果我想保存用户,我有两种方法,保存整个数组$system->auth->user->save(user_id,user_attributes_array)或按属性$system->auth->user->put(user_id, user_attribute, user_attribute_value)

我怎么能在 CakePHP 上做这样的事情?

4

1 回答 1

1

我建议您重新设计您的模式以适应 CakePHP 约定。否则你会失去很多自动化,如果没有人强迫你,我认为你迁移到 Cake 是没有意义的。User不能有多个fullnameor username。没有理由将fullnameandusername放入另一个表中。遵循简单身份验证和授权应用程序教程,您将没有痛苦。

然后您可以通过调用User->UserAttribute->saveMany()来保存用户属性。

于 2012-10-08T14:07:51.533 回答