如何使用sql查询向所有用户添加男性?这是我的代码,我想包括男性性别领域。
$table = Engine_Api::_()->getDbtable('users', 'user');
$db = $table->getAdapter();
$db->beginTransaction();
try {
$user = $table->createRow();
$user->displayname = $displayname;
$user->save();
$id = $user->getIdentity();
$user->email = $firstName . $id . '@mail.com';
$user->username = $firstName . $id;
$user->enabled = 1;
$user->approved = 1;
$user->verified = 1;
$user->save();
$user->setPhoto($imagePath);
$userItem = $usersTable->createRow();
$userItem->item_id = $id;
$userItem->save();
$this->_activateSubscription($user);
$db->commit();
}
问候
答案 0 :(得分:1)
您需要在 engine4_user_fields_values 中使用用户ID,字段元ID和字段选项ID创建一行。以下是我们需要的ID:
Gender [field_id : 5] in engine4_user_fields_meta
Male [option_id : 2] in engine4_user_fields_options
Female [option_id : 3] in engine4_user_fields_options
我在下面的代码中写了女性和男性选项。根据需要使用一个,然后删除另一个。
$fieldsValuesTable = Engine_Api::_()->fields()->getTable('user', 'values');
$row = $fieldsValuesTable->createRow();
$row->item_id = $user->getIdentity();
$row->field_id = 5; //Gender
$row->value = 2; //Male
$row->value = 3; //Female
$row->save();