Бамагите подалуйста
надо вытянуть из бд некоторые данные о юзвере и отбразить их. сосно интересует как это сделать с помощью Yii
Бамагите подалуйста
надо вытянуть из бд некоторые данные о юзвере и отбразить их. сосно интересует как это сделать с помощью Yii
Хрен дождешся помощи. Сделал так:
public function actionid()
{
$this->render('id',array(
'data'=>$this->loadPost(),
));
}
private $data;
protected function loadPost($id=null)
{
if($this->data===null)
{
if($id!==null || isset($_GET['id']))
$this->data=User::model()->findbySql('SELECT * FROM user WHERE id='.$_GET["id"].'');
if($this->data===null &&
$this->data->status!=data::STATUS_PUBLISHED)
throw new CHttpException(404,'Кто здесь?!');
}
return $this->data;
}
я понимаю что это далеко не самый лучший вариант, кроме того потенциальная угроза для инъекции(вроде). но хз как сделать лучше
$this->data = User::model()->findbySql('SELECT * FROM user WHERE id='.$_GET["id"].'');
Тут не потенциальная угроза, а прямая. Чем вам метод findByPk не угодил?
User::model()->findByPk($_GET['id']);
P.S.:
Posted Today, 07:28 AM
Posted Today, 08:32 AM
Хрен дождешся помощи.
Нужно быть терпеливее
findByPk не хотел работать.
findbySql несколько строк принять может? и как их вытянуть? просто массивом сопротивляется.
нашел ужо - findAllBySql . Yii подлая штука времени жрет немеряно
и форум очень активный ))))
Отсалось сделать ЧПУ и все
а я для начала на testdrive по документации делал авторизацию из базы SQLite
вот такую вот штуку подсказали сделать
$username=strtolower($this->username);
$user=User::model()->find('LOWER(login)=?',array($username));
if ($user == NULL) {
$this->errorCode=self::ERROR_USERNAME_INVALID;
}
else if ($this->password !== $user->passwd)
$this->errorCode=self::ERROR_PASSWORD_INVALID;
else
однако здесь меня смутила строка
$user=User::model()->find('LOWER(login)=?',array($username));
сказали что корректнее будет
$user=User::model()->find('LOWER(login)=:username',array(':username' => $username));
но можно и так, чтобы компактнее вышло