@yii2ru

Страница 909 из 1721
Crestoff
21.01.2018
07:31:55
именно то что тебе нужно.

у меня отлично работает

mrG1K
21.01.2018
07:37:06
Спасиб ) посмотрю, оказывается в его прошлом расширении это тоже есть ) Yii2 ManyToMany Behavior я его как раз юзаю иногда )

Google
Crestoff
21.01.2018
07:44:30
ну там почитай хорошо

Vladislav
21.01.2018
10:14:53
Здравствуйте, комрады. Можно-ли передать модель через json и получить его? И как?

Павел
21.01.2018
10:16:22
Кого его?

Vladislav
21.01.2018
10:16:52
модель

Ad.x ??
21.01.2018
10:20:46
нельзя

Vladislav
21.01.2018
10:22:35
а если модель сериализовать? http://php.net/manual/ru/language.oop5.serialization.php

Ad.x ??
21.01.2018
10:23:14
то можно

Vladislav
21.01.2018
10:24:13
зашебись... тогда опробуем)

Ad.x ??
21.01.2018
10:25:06
чота ты там не то явно делаешь. пересмотри пока не поздна ))

Vladislav
21.01.2018
10:28:27
Почему?)

Ну надо посмотреть какрв получится результат сериализации, а так мне либо передавать кучу параметров, либо отправлять сериализованный объект

?
21.01.2018
10:38:03
xml еще можно

Aziz
21.01.2018
10:40:32
как засунуть в find регулярку: ^[^\D][\d-]+$ ?

Google
Павел
21.01.2018
10:47:37
А кто тебе вообще сказал что туда можно регулярку засунуть?

Что за БД?

Yury
21.01.2018
11:05:09
пардон сразу за идиотизм, но никак не допру. почему $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);

пробовал кучу разных вариантов, результат один и тот же ?

?
21.01.2018
11:06:05
эм а $model->primaryKey не ?

и не all а one

если уже на то пошло

Yury
21.01.2018
11:06:29
эм а $model->primaryKey не ?
не, ибо это бифор сейв делается, нужно предугадать следующий автоэнкримент

?
21.01.2018
11:07:33
есть еще lastInserId помоему

во всяком случае было в yii1

Yury
21.01.2018
11:07:57
и не all а one
с one тот ж результат

есть еще lastInserId помоему
говорю же, нужно предугадать следующий, а не узнать последний что инсертился. запрос выше это и делает. мускуль даёт нужный результат. а вот в переменную записывается 'Array', как бы я его не пытался преобразовать, понимаю что это должно изи делаться, но вот чет нихрена не выходит

?
21.01.2018
11:10:23
ну так +1

если нагрузка не большая

Yury
21.01.2018
11:10:55
ну так +1
не)) следующий автоинкримент не всегда +1

?
21.01.2018
11:11:06
ну это от нагрузки зависит

ну а так должен быть one

Yury
21.01.2018
11:11:28
если к примеру удалить запись с айди 9, и потом попытаться создать новую, у него уже будет айди 10

тоесть +2

ну а так должен быть one
one тоже array возвращает не пойму почему, по идее первый элемент должен, как и array_shift

Google
?
21.01.2018
11:13:44
Column вместо селект попробуй

mrG1K
21.01.2018
11:15:18
то есть колонки кроме id_col_1 id_col_2 content ?
Почитал, но что-то не понял как получить данные из связующей таблицы вроде нашел как фильтровать по доп данным, но эт не то

Yury
21.01.2018
11:17:36
Column вместо селект попробуй
с ним получаю эксепшн ( exception 'yii\base\ErrorException' with message 'Call to a member function getQueryBuilder() on string'

Павел
21.01.2018
11:38:37
Это системная база зачем вообще туда лезть?

Yury
21.01.2018
11:39:26
Зачем предугадывать?
чтобы в $model->image сохранить название пикчи уже с id записи вида article_1_{timestamp}.png

Павел
21.01.2018
11:40:16
Нахрен этот изврат?

Что тебе даст id модели в названии?

Павел
21.01.2018
11:41:26
Геморрой скорее

Yury
21.01.2018
11:42:05
Геморрой скорее
это тоже. но дело не в самом запросе, а как преобразовать результат из запроса, чтобы он записался в переменную в виде строки иль числа

Павел
21.01.2018
11:46:30
Результат запроса ты не преобразовывает, а занимаешься вангованием

Павел
21.01.2018
11:46:58
Смысл если можно сначала создать запись, а потом сохранить название картинки там, уже зная id

Yury
21.01.2018
11:53:26
Смысл если можно сначала создать запись, а потом сохранить название картинки там, уже зная id
имеешь в виду сохранить в бифорсейв без айди, и пересохранить в афтерсейв уже с айди?

лишнее действие

Павел
21.01.2018
11:54:40
А запрос для предсказания id он конечно не лишний

Yury
21.01.2018
11:55:49
А запрос для предсказания id он конечно не лишний
ну я осознаю нелепость затеи, просто щупаю возможности йии. тут скорее интересно как записать результат запроса в переменную

Павел
21.01.2018
11:56:40
Какие возможности yii ты щупаешь? По моему фигнёй ты занимаешься

Ты уже знаешь как результат запроса записывается в переменную. Если ты не понимаешь в каком формате возвращаются данные сделай var_dump и погляди

Google
Павел
21.01.2018
11:59:45
Ты с массивами умеешь работать?

У тебя ассоциативный массив

Yury
21.01.2018
12:00:06
видимо не очень, пробовал имплоад, и эррейшифт

а для ассоциативных видимо не пдоходит этот вариант

Павел
21.01.2018
12:00:40
Вспоминается фильм "горячие головы"

Yury
21.01.2018
12:01:07
Вспоминается фильм "горячие головы"
не смотрел, но врядли я найду в нем ответ

циклом пройтись? foreach($array as $key => $value) { $mykey = $value; }

Павел
21.01.2018
12:03:29
Я бот-поисковик http://www.php.su/learnphp/vars/?arrays

Yury
21.01.2018
12:04:00
ой кажется я понял..

Admin
ERROR: S client not available

Павел
21.01.2018
12:04:07
циклом пройтись? foreach($array as $key => $value) { $mykey = $value; }
Зачем тебе цикл? Расскажи плиз. Мне реально интересно

Yury
21.01.2018
12:04:19
Павел
21.01.2018
12:04:52
О том и речь

Yury
21.01.2018
12:06:04
вуху $id = $query->one(); $id = $id['AUTO_INCREMENT'];

спасибо за наведение на светлую мысль, все было куда проще

Павел
21.01.2018
12:06:52
Ещё проще вернуть само значение прямо из запроса

И не делать лишних присваиваний

Yury
21.01.2018
12:08:14
Ещё проще вернуть само значение прямо из запроса
я ж вот это и хотел узнать как сделать )

нашел как сделать средствами йии таки

вместо $query->one() нужно было использовать $query->scalar()

Google
49576
21.01.2018
12:32:18
Здарова всем. Вопрос по датапровайдеру. Решил заюзать 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
21.01.2018
12:37:17
а где у тебя в запросе хоть один параметер?

49576
21.01.2018
12:37:54
"params"=>Yii::$app->request->queryParams['FlowerSearch']]);

Maxim
21.01.2018
12:38:18
в самом SQL то где? к чему этот params биндить?

49576
21.01.2018
12:39:01
Короче на чистом SQL делать? я думал там че то по красоте зашито прикольное

Мде.. ну оки) спасибо

Maxim
21.01.2018
12:39:57
собирай запрос QueryBuilderом например. if(isset($params['id'])) $qb->andWhere(['id' => $params['id']])

49576
21.01.2018
12:41:44
там сложновато будет т.к. внутри еще один селект

селект в селекте джойнятся друг с другом)

мать его громоздко получается

Konstantin
21.01.2018
12:54:46
http://shot.hsdn.org/UxYdBlT0 почему то фанситри засовывает в последний элемент 2 уровня элементы третего уровня которые должны быть в другом узле 2 уровня

49576
21.01.2018
13:12:28
та уже поговнокодил)

public function flowerParams($params) { print_r($params); $r=' WHERE 1=1'; foreach ($params as $p=>$key) { if ($key!=null) $r.=" AND f.".$p."='".$key."'"; } return $r; } /** * Lists all Flower models. * @return mixed */ public function actionIndex() { $searchModel = new FlowerSearch(); $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".$this->flowerParams(Yii::$app->request->queryParams['FlowerSearch']);

Павел
21.01.2018
13:12:58
Зачем ты ваще yii взял?

Php4 это больше чем достаточно для тебя

Страница 909 из 1721