mstdmstd
Новичок
Всем привет,
У меня проблема с методом loaded() для таблицы roles_users.
Делаю:
$rolesusers_result->loaded() выводит false, при этом смотрю в профайле и вижу правильный sql по двум параметрам
и нужная строка нормально находится.
Мелькнула мысль, что $rolesusers_result->loaded() неправильно работает из-за того¸ что в таблице не определен id. В чем можетбыть проблема и как проверить найдена ли строка?
У меня проблема с методом loaded() для таблицы roles_users.
Делаю:
PHP:
class Model_Rolesusers extends Model_Common
{
protected $_table_name = 'roles_users';
protected $_table_columns = array (
'user_id' =>
array (
'type' => 'int',
'min' => '0',
'max' => '4294967295',
'column_name' => 'user_id',
'column_default' => NULL,
'data_type' => 'int unsigned',
'is_nullable' => false,
'ordinal_position' => 1,
'display' => '10',
'comment' => '',
'extra' => '',
'key' => 'PRI',
'privileges' => 'select,insert,update,references',
),
'role_id' =>
array (
'type' => 'int',
'min' => '0',
'max' => '4294967295',
'column_name' => 'role_id',
'column_default' => NULL,
'data_type' => 'int unsigned',
'is_nullable' => false,
'ordinal_position' => 2,
'display' => '10',
'comment' => '',
'extra' => '',
'key' => 'PRI',
'privileges' => 'select,insert,update,references',
),
);
...
//Мне надо проверить есть опеределена ли для данного юзера данная роль
public function getRolesusers( $user_id, $role_id, $return_array=true )
{
$RolesusersFactory = ORM::factory('rolesusers');
$RolesusersFactory->where('rolesusers.user_id', '=', $user_id);
$RolesusersFactory->where('rolesusers.role_id', '=', $role_id);
$rolesusers_result = $RolesusersFactory->find();
echo '<pre> $rolesusers_result->loaded() ::'.print_r( $rolesusers_result->loaded(), true ).'</pre><br>';
if (!$rolesusers_result->loaded()) return false;
PHP:
SELECT `bp_rolesusers`.`user_id` AS `user_id`, `bp_rolesusers`.`role_id` AS `role_id`
FROM `bp_roles_users` AS `bp_rolesusers`
WHERE `bp_rolesusers`.`user_id` = '38' AND
`bp_rolesusers`.`role_id` = 3 LIMIT 1
Мелькнула мысль, что $rolesusers_result->loaded() неправильно работает из-за того¸ что в таблице не определен id. В чем можетбыть проблема и как проверить найдена ли строка?