Vladislav
модель
The Ant
нельзя
Vladislav
а если модель сериализовать? http://php.net/manual/ru/language.oop5.serialization.php
The Ant
то можно
Vladislav
зашебись... тогда опробуем)
The Ant
чота ты там не то явно делаешь. пересмотри пока не поздна ))
Vladislav
Почему?)
Vladislav
Ну надо посмотреть какрв получится результат сериализации, а так мне либо передавать кучу параметров, либо отправлять сериализованный объект
👻
xml еще можно
Витебск 01
как засунуть в find регулярку: ^[^\D][\d-]+$ ?
Павел
А кто тебе вообще сказал что туда можно регулярку засунуть?
Павел
Что за БД?
Yurii
пардон сразу за идиотизм, но никак не допру. почему $id = 'Array' как туда всучить само значение? $query = new Query; $query->select('AUTO_INCREMENT') ->from('information_schema.TABLES') ->where("TABLE_SCHEMA = '".$dbName."'") ->andWhere("TABLE_NAME = '".$this->tableName()."'"); $result = $query->all(); $id = array_shift($result);
Yurii
пробовал кучу разных вариантов, результат один и тот же 😢
👻
эм а $model->primaryKey не ?
👻
и не all а one
👻
если уже на то пошло
Yurii
эм а $model->primaryKey не ?
не, ибо это бифор сейв делается, нужно предугадать следующий автоэнкримент
👻
есть еще lastInserId помоему
👻
во всяком случае было в yii1
Yurii
и не all а one
с one тот ж результат
Yurii
есть еще lastInserId помоему
говорю же, нужно предугадать следующий, а не узнать последний что инсертился. запрос выше это и делает. мускуль даёт нужный результат. а вот в переменную записывается 'Array', как бы я его не пытался преобразовать, понимаю что это должно изи делаться, но вот чет нихрена не выходит
👻
ну так +1
👻
если нагрузка не большая
Yurii
ну так +1
не)) следующий автоинкримент не всегда +1
👻
ну это от нагрузки зависит
👻
ну а так должен быть one
Yurii
если к примеру удалить запись с айди 9, и потом попытаться создать новую, у него уже будет айди 10
Yurii
тоесть +2
Yurii
ну а так должен быть one
one тоже array возвращает не пойму почему, по идее первый элемент должен, как и array_shift
👻
Column вместо селект попробуй
mrG1K
то есть колонки кроме id_col_1 id_col_2 content ?
Почитал, но что-то не понял как получить данные из связующей таблицы вроде нашел как фильтровать по доп данным, но эт не то
Yurii
Column вместо селект попробуй
с ним получаю эксепшн ( exception 'yii\base\ErrorException' with message 'Call to a member function getQueryBuilder() on string'
Павел
Это системная база зачем вообще туда лезть?
Yurii
Зачем предугадывать?
чтобы в $model->image сохранить название пикчи уже с id записи вида article_1_{timestamp}.png
Павел
Нахрен этот изврат?
Павел
Что тебе даст id модели в названии?
Павел
Геморрой скорее
Yurii
Геморрой скорее
это тоже. но дело не в самом запросе, а как преобразовать результат из запроса, чтобы он записался в переменную в виде строки иль числа
Павел
Результат запроса ты не преобразовывает, а занимаешься вангованием
Павел
Смысл если можно сначала создать запись, а потом сохранить название картинки там, уже зная id
Yurii
Смысл если можно сначала создать запись, а потом сохранить название картинки там, уже зная id
имеешь в виду сохранить в бифорсейв без айди, и пересохранить в афтерсейв уже с айди?
Yurii
лишнее действие
Павел
А запрос для предсказания id он конечно не лишний
Yurii
А запрос для предсказания id он конечно не лишний
ну я осознаю нелепость затеи, просто щупаю возможности йии. тут скорее интересно как записать результат запроса в переменную
Павел
Какие возможности yii ты щупаешь? По моему фигнёй ты занимаешься
Павел
Ты уже знаешь как результат запроса записывается в переменную. Если ты не понимаешь в каком формате возвращаются данные сделай var_dump и погляди
Павел
Ты с массивами умеешь работать?
Павел
У тебя ассоциативный массив
Yurii
видимо не очень, пробовал имплоад, и эррейшифт
Yurii
а для ассоциативных видимо не пдоходит этот вариант
Павел
Вспоминается фильм "горячие головы"
Yurii
Вспоминается фильм "горячие головы"
не смотрел, но врядли я найду в нем ответ
Yurii
циклом пройтись? foreach($array as $key => $value) { $mykey = $value; }
Павел
Я бот-поисковик http://www.php.su/learnphp/vars/?arrays
Yurii
ой кажется я понял..
Павел
циклом пройтись? foreach($array as $key => $value) { $mykey = $value; }
Зачем тебе цикл? Расскажи плиз. Мне реально интересно
Павел
О том и речь
Yurii
вуху $id = $query->one(); $id = $id['AUTO_INCREMENT'];
Yurii
спасибо за наведение на светлую мысль, все было куда проще
Павел
Ещё проще вернуть само значение прямо из запроса
Павел
И не делать лишних присваиваний
Yurii
Ещё проще вернуть само значение прямо из запроса
я ж вот это и хотел узнать как сделать )
Yurii
нашел как сделать средствами йии таки
Yurii
вместо $query->one() нужно было использовать $query->scalar()
Артем
Здарова всем. Вопрос по датапровайдеру. Решил заюзать SqlDataProvider. В гриде вверху поля для поиска. Значения поиска как я понимаю попадают в Yii::$app->request->queryParams Вот код: $searchModel = new FlowerSearch(); $dataProvider = new SqlDataProvider([ "sql"=>"SELECT f.*,u.username,u.firstname,u.lastname FROM flower AS f INNER JOIN (SELECT * FROM order WHERE NOW()-date_create>900) AS o ON o.flower_id=f.id INNER JOIN user AS u ON u.id=f.user_id", "params"=>Yii::$app->request->queryParams['FlowerSearch']]); Результат получается не верный, так как используются алиасы в запросе. Как мне добавить правильный params чтоб получать результаты поиска в гриде?
Артем
В оф. документации есть пример : 'sql' => 'SELECT * FROM user WHERE status=:status', 'params' => [':status' => 1], Но тут все просто, так как параметры статичны.
Артем
Если я добавлю например по аналогии WHERE id=:id и тд. то результат запроса будет пустым, так как по умолчанию там ничего не передается
Артем
Как быть в таких случаях? Хреновертить функцию которая будет возвращать последнюю часть sql-запроса(все что после WHERE). Как то не камильфо
Maxim
а где у тебя в запросе хоть один параметер?
Артем
"params"=>Yii::$app->request->queryParams['FlowerSearch']]);
Maxim
в самом SQL то где? к чему этот params биндить?
Артем
Короче на чистом SQL делать? я думал там че то по красоте зашито прикольное
Артем
Мде.. ну оки) спасибо
Maxim
собирай запрос QueryBuilderом например. if(isset($params['id'])) $qb->andWhere(['id' => $params['id']])
Артем
там сложновато будет т.к. внутри еще один селект