public function sqlConditionAndPlaceholderValueForUserId($user_id)
 {
     $user_obj = User::factory($user_id);
     if ($user_obj->getHasFullAccess()) {
         return ['', []];
         // do not filter
     }
     $current_user_usertogroup_ids_arr = UserToGroup::getIdsArrForUserIdByCreatedAtDesc($user_id);
     $current_user_groups_ids_arr = [];
     foreach ($current_user_usertogroup_ids_arr as $usertogroup_id) {
         $usertogroup_obj = UserToGroup::factory($usertogroup_id);
         $current_user_groups_ids_arr[] = $usertogroup_obj->getGroupId();
     }
     $placeholder_values_arr = [];
     $where = ' (';
     $where .= '(owner_user_id = ?)';
     $placeholder_values_arr[] = $user_id;
     if (count($current_user_groups_ids_arr) > 0) {
         $user_groups_placeholders_arr = array_fill(0, count($current_user_groups_ids_arr), '?');
         $where .= ' or (owner_group_id in (' . implode($user_groups_placeholders_arr) . '))';
         $placeholder_values_arr = array_merge($placeholder_values_arr, $current_user_groups_ids_arr);
     }
     $where .= ') ';
     return [$where, $placeholder_values_arr];
 }