А TaggableBehavior не лучше использовать ли?smck87 писал(а):Помогите описать отношения в моделе, никак не врублюсь.
Есть таблички: game, tag, tag_on_game. Таблица tag_on_game связывает таблицы game и tag. Как описать отношение, чтобы модель Game могла получить список тегов из таблицы tags используя связи из tag_on_game?
Таблица tag_on_game имеет такие поля: id, tag_id, game_id.
Я понял, что нужно использовать HAS_MANY through, но как
update: вродь понял, так работаетКод: Выделить всё
'tag_on_game'=>array(self::HAS_MANY, 'TagOnGame', 'game_id'), 'tags'=>array(self::HAS_MANY, 'Tag', 'game_id','through'=>'tag_on_game'),
Вопросы новчика
Re: Вопросы новчика
Re: Вопросы новчика
В чем преимущество? С поведениями пока не знаком.Nafania писал(а): А TaggableBehavior не лучше использовать ли?
Re: Вопросы новчика
В том, что там уже все готово и вам не надо ничего писать самостоятельно.smck87 писал(а):В чем преимущество? С поведениями пока не знаком.Nafania писал(а): А TaggableBehavior не лучше использовать ли?
Re: Вопросы новчика
Капец это все страшно.... слов непонятных цела ахапка и к ним прицем
Re: Вопросы новчика
чем лучше разбираюсь, тем больше удивляюсь, как я без этого обходился на codeigniter.gadiy писал(а):Капец это все страшно.... слов непонятных цела ахапка и к ним прицем
Nafania, расширение нашел, спс, пробую
update: gadiy, почитал топик с начала, учите по очереди c++, php, codeigniter, а потом yii.
Re: Вопросы новчика
а codeigniter то зачем ?
- timlar
- Сообщения: 1382
- Зарегистрирован: 2009.09.19, 17:49
- Откуда: Украина, Днепропетровск
- Контактная информация:
Re: Вопросы новчика
Наверное, чтобы было с чем сравнивать потом Начнет учить Yii и скажет "Блин! Круто же! Не то, что в этом CI"RusAlex писал(а):а codeigniter то зачем ?
Twitter: @timlar_ua
Re: Вопросы новчика
вспоминается старый анекдот:
мужик ходит на работе и постоянно рожа у него кривая,
ворчит, ноет, не находит себе места. Каждый день с понедельника по четверг.
Наконец один коллега не выдерживает и спрашивает:
"А ты что такой постоянно страдающий?"
Тот отвечает:
"Понимаешь, всё у меня в жизни херово, жена мозг делает, дети давно не радуют,
работа - говно."
-Ну а ноешь то чего постоянно? Мужик ведь.
-Да у меня туфли на 4 размера меньше.
-Нафига ?
-Единственное счастье, когда прихожу домой и их снимаю.
мужик ходит на работе и постоянно рожа у него кривая,
ворчит, ноет, не находит себе места. Каждый день с понедельника по четверг.
Наконец один коллега не выдерживает и спрашивает:
"А ты что такой постоянно страдающий?"
Тот отвечает:
"Понимаешь, всё у меня в жизни херово, жена мозг делает, дети давно не радуют,
работа - говно."
-Ну а ноешь то чего постоянно? Мужик ведь.
-Да у меня туфли на 4 размера меньше.
-Нафига ?
-Единственное счастье, когда прихожу домой и их снимаю.
Re: Вопросы новчика
Дело в том что пхп я владею на уровне функционального программирования... с++ как таковой мне в работе пока ненужен и поэтому ни стимула ни желания его изучать нет...smck87 писал(а):чем лучше разбираюсь, тем больше удивляюсь, как я без этого обходился на codeigniter.gadiy писал(а):Капец это все страшно.... слов непонятных цела ахапка и к ним прицем
Nafania, расширение нашел, спс, пробую
update: gadiy, почитал топик с начала, учите по очереди c++, php, codeigniter, а потом yii.
codeigniter - хотел начать с него... потому как есть видеоуроки и тд и тп... но почитав статьи и отзывы решил обратить свой взор сразу на юии! Ну а зачем начинать учить что-то, что потом прийдеться заменить!?
Проблема в том что я пока не могу понять как это все применить... это у меня не складывается в голове!!! И вот это плохо... потому как логикой я не обделен, и даже считал это одним из своих хороших профессиональных качеств... а тут ООП... и глаза на лоб... и вроде все просто, но непонятно!!!
- timlar
- Сообщения: 1382
- Зарегистрирован: 2009.09.19, 17:49
- Откуда: Украина, Днепропетровск
- Контактная информация:
Re: Вопросы новчика
На самом деле не так страшен черт, как его малюют. По ООП есть много литературы в интернете. ООП одинаково в любом языке программирования. Главное понять основы и принципы, а остальное понимание начнет приходить по мере работы.gadiy писал(а):Проблема в том что я пока не могу понять как это все применить... это у меня не складывается в голове!!! И вот это плохо... потому как логикой я не обделен, и даже считал это одним из своих хороших профессиональных качеств... а тут ООП... и глаза на лоб... и вроде все просто, но непонятно!!!
Twitter: @timlar_ua
Re: Вопросы новчика
У меня тут еще вопрос возник, в свете приведенного несколькими постами выше вопроса:
целесообразно ли использовать триггери субд?
Столкнулся с тем, что на многих шаред хостингах нет поддержки триггеров.
Или сохранять лучше целостность данных "программным" путем и не париться? Ведь в этом
случае можно развернуть свое приложение уже на любом, в этом плане, хостинге...
С другое стороны, есть риск потери целостности этих самых данных в результате
злонамеренных или не очень действий пользователя.
Или все таких лучше поискать хостинг где "есть все" в субд, даже и пусть если
немного дороже...
To be or not to be, панимаешь...
целесообразно ли использовать триггери субд?
Столкнулся с тем, что на многих шаред хостингах нет поддержки триггеров.
Или сохранять лучше целостность данных "программным" путем и не париться? Ведь в этом
случае можно развернуть свое приложение уже на любом, в этом плане, хостинге...
С другое стороны, есть риск потери целостности этих самых данных в результате
злонамеренных или не очень действий пользователя.
Или все таких лучше поискать хостинг где "есть все" в субд, даже и пусть если
немного дороже...
To be or not to be, панимаешь...
Re: Вопросы новчика
там так все просто и понятно, после него намного проще переходить на yii.RusAlex писал(а):а codeigniter то зачем ?
Мое решение в предидущих постах для описания связей не правильно. Стоило мне добавить еще пару тегов, как они уже не находились. Вот правильный вариант:
Код: Выделить всё
'tag_on_game'=>array(self::HAS_MANY, 'TagOnGame', 'game_id'),
'tags'=>array(self::HAS_MANY, 'Tag', 'tag_id','through'=>'tag_on_game'),
- Stamm
- Сообщения: 407
- Зарегистрирован: 2010.03.14, 18:59
- Откуда: Россия, Москва
- Контактная информация:
Re: Вопросы новчика
Ох, я так и говорю =)timlar писал(а):Наверное, чтобы было с чем сравнивать потом Начнет учить Yii и скажет "Блин! Круто же! Не то, что в этом CI"RusAlex писал(а):а codeigniter то зачем ?
Ну если только для сравнения его поюзать первое время. А если нет текущих задач на нём - то тогда лучше уж сразу начать с yii =)
Re: Вопросы новчика
Всем привет! помогите плз, Я делаю регистрацию. У меня почему-то элемент формы не грузится. Видимо атрибуты или не модель не та.
ошибка:
действие Registr в контроллере:
Модель:
форма:
ошибка:
Код: Выделить всё
CActiveForm and its behaviors do not have a method or closure named "isAttributeRequired".
Код: Выделить всё
public function actionRegistr()
{
$form = new RegistrForm();
if (!Yii::app()->user->isGuest) {
throw new CException('Вы уже зарегистрированны!');
} else {
if (isset($_POST['RegistrForm'])) {
$form->attributes = $_POST['RegistrForm'];
$form->verifyCode = $_POST['RegistrForm']['verifyCode'];
if($form->validate()) {
if ($form->model()->count('username = :username', array(':username' => $form->username))) {
// Указанный логин уже занят. Создаем ошибку и передаем в форму
//$form->addError('login', 'Логин уже занят');
$this->render('registr', array('form' => $form));
} else {
// Выводим страницу что "все окей"
$form->save();
$this->render('registr_ok');
}
} else {
$this->render('registr', array('form' => $form));
}
} else {
$this->render('registr', array('form' => $form));
}
}
}
Код: Выделить всё
<?php
class RegistrForm extends CFormModel {
public $username;
public $password;
public $email;
public function tableName()
{
return '{{user}}';
}
public function rules() {
return array(
array('username, password, email','required'),
);
}
}
Код: Выделить всё
<?php
$this->pageTitle=Yii::app()->name . ' - Регистрация';
$this->breadcrumbs=array(
'Регистрация',
);
?>
<h1>Регистарция</h1>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm'); ?>
<div class="row">
<?php echo $form->LabelEx($form, 'username'); ?>
<?php //echo $form->textField($form,'username'); ?>
<?php //echo $form->error($form,'username'); ?>
</div>
<div class="row">
<?php //echo $form->labelEx($form,'password'); ?>
<?php //echo $form->passwordField($form,'password'); ?>
<?php //echo $form->error($form,'password'); ?>
</div>
<?php $this->endWidget(); ?>
</div>
Re: Вопросы новчика
вместо
<?php echo $form->LabelEx($form, 'username'); ?>
надо
<?php echo $form->LabelEx($model, 'username'); ?>
<?php echo $form->LabelEx($form, 'username'); ?>
надо
<?php echo $form->LabelEx($model, 'username'); ?>
- TranceSmile
- Сообщения: 562
- Зарегистрирован: 2011.06.27, 19:04
- Откуда: Украина
- Контактная информация:
Re: Вопросы новчика
А проверка у тебя на то что б не было одинаковых логинов жесть. Не легче в моделе написать
Код: Выделить всё
public function rules() {
return array(
array('username, password, email','required'),
array('username,'unique','message'=>'Такой логин уже занят'),
);
}
Re: Вопросы новчика
почему $model то? экземпляр же у меня $ formNafania писал(а):вместо
<?php echo $form->LabelEx($form, 'username'); ?>
надо
<?php echo $form->LabelEx($model, 'username'); ?>
спасибо попробую такTranceSmile писал(а):А проверка у тебя на то что б не было одинаковых логинов жесть. Не легче в моделе написатьКод: Выделить всё
public function rules() { return array( array('username, password, email','required'), array('username,'unique','message'=>'Такой логин уже занят'), ); }
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Вопросы новчика
Так, кажется, тему пора закрыть. Опять всё в одном…
Нравится Yii? Давайте сделаем его лучше!.