@yii2ru

Страница 1060 из 1721
Don
14.03.2018
17:09:16
Всем привет ребят. Есть задачка, в базе больше 20000 записей, как лучше их экспортировать в excel?

Nibbler
14.03.2018
17:09:50
XLsExport

Don
14.03.2018
17:17:31
header("Content-Disposition: attachment; filename=\"$filename\""); header("Content-Type: application/vnd.ms-excel;"); header("Pragma: no-cache"); header("Expires: 0"); $out = fopen("php://output", 'w'); foreach ($newArray as $data) { fputcsv($out, $data, "\t"); } fclose($out);

Google
SiZE
14.03.2018
17:17:32
ну и 20 000 записей вообще ни о чем не говорит

SiZE
14.03.2018
17:18:08
норм же

где ошибка то блет?

предлагаешь угадать ее?

почему нельзя сразу написать "вот такая-то ошибка сделал то то"

Don
14.03.2018
17:18:37
of

ругается сюда -> fputcsv($out, $data, "\t");
An Error occurred while handling another error yii\web\HeadersAlreadySentException: Headers already sent in

SiZE
14.03.2018
17:19:30
и что говорит нам ошибка? :)

Saško
14.03.2018
17:21:22
и что говорит нам ошибка? :)
зачем ты заставляешь людей думать?!

PowerAxis
14.03.2018
17:22:25
An Error occurred while handling another error yii\web\HeadersAlreadySentException: Headers already sent in
я недавно с этим тоже столкнулся, это из-за фикса в последней версии. я тоже хотел выгрузить данные в csv. но я так и не смог найти где у меня заголовки отправлялись раньше (

Google
PowerAxis
14.03.2018
17:23:47
вот и я о том же.
ну я решил эту беду так: fopen(\Yii::getAlias("@webroot/upload/file.csv"), 'w');

вместо твоего fopen("php://output", 'w');

Don
14.03.2018
17:24:37
попробую

спасибо

SiZE
14.03.2018
17:24:51
exit сделать попробуй

Don
14.03.2018
17:26:16
exit сделать попробуй
только сделал так и ты написал

в общем помогло

SiZE
14.03.2018
17:26:25
а теперь надо понять почему так

объясняю

PowerAxis
14.03.2018
17:26:37
объясняю
объясни пожалуйста

Don
14.03.2018
17:27:03
PowerAxis
14.03.2018
17:27:19
в общем помогло
так а что ты сделал?

SiZE
14.03.2018
17:27:36
объясни пожалуйста
http://www.yiiframework.com/doc-2.0/yii-web-response.html

Don
14.03.2018
17:27:44
выход

SiZE
14.03.2018
17:27:47
получает результат выполнения экшена

SiZE
14.03.2018
17:28:33
И в соответствии с заданными этому классу yii\web\Response настройками форматирует вывод и добавляет заголовки

получается header(); echo '' header(); что приводит к ошибке

Don
14.03.2018
17:29:02
только потом допёрло

Yet Another Stats
14.03.2018
17:29:10
Карма @sizepermru стала 37

Google
Don
14.03.2018
17:29:20
такая ж была проблема раньше. только с json выводом

PowerAxis
14.03.2018
17:29:37
выход
а где ты exit писал? покажи кусок кода

Don
14.03.2018
17:29:59
в самом конце, пока экшен не пошёл ставить свой хидер)

Artur
14.03.2018
17:36:58
Привет всем Есть такая задача Есть условные кошельки пользователя, и статус кошелька (активный/не активный/заблокирован / то есть, чем он пользуется в основном, а чем уже перестал, допустим) И с помощью кнопки-экшена - могу менять статус его, но могу это делать с двух мест - общей таблицы кошельков, и в профиле пользователя (где только его кошельки) Вопрос - как сделать так, чтобы при выполнении этого действия определялся URL, где это действие выполняется, и, если, к примеру, это действие выполняется в профиле пользователя - то редирект шел не в общую таблицу кошельков, а снова в страницу пользователя?

Alexey
14.03.2018
17:38:10
Url::remember()

return $this->goBack()

Artur
14.03.2018
17:40:03
Ага Т.е. допустим, if (Url::remember([ 'profile/view', 'id'=>$model->id])) { return $this->goBack() } Примерно так?

Alexey
14.03.2018
17:41:28
Url::remember() запоминает куда надо вернуться по goBack

Artur
14.03.2018
17:41:38
А

Alexey
14.03.2018
17:42:00
соответственно в нужных контроллерах вызов этот сделай

а в экшне смены статуса goBack вернет куда надо

Artur
14.03.2018
17:42:43
Понял (наверное :)) Спасибо)

Отрабатывает смена статуса, но пишет теперь, что слишком много редиректов на сайте

SiZE
14.03.2018
17:47:34
header("Content-Disposition: attachment; filename=\"$filename\""); header("Content-Type: application/vnd.ms-excel;"); header("Pragma: no-cache"); header("Expires: 0"); $out = fopen("php://output", 'w'); foreach ($newArray as $data) { fputcsv($out, $data, "\t"); } fclose($out);
Жаль что-то типа такого нельзя замутить. $out = fopen("php://output", 'w'); Yii::$app->response->sendStreamAsFile($out, $filename, ['mimeType' => 'application/vnd.ms-excel']); Но просто делаешь: Yii::$app->response->format = Response::FORMAT_RAW;

Artur
14.03.2018
17:51:49
Поменял goBack на return $this->redirect(Yii::$app->request->referrer); - заработало

Отрабатывает смена статуса, но пишет теперь, что слишком много редиректов на сайте

Максим
14.03.2018
18:50:48
/link@yetanotherstatsbot

Yet Another Stats
14.03.2018
18:50:48
https://b.yasb.exileed.com/telegram/chat/1001046156199

Кирилл
14.03.2018
19:00:09
https://pastebin.com/Z522ACmE

Google
Кирилл
14.03.2018
19:01:54
Вечер добрый. Хочу переопределить update для rest, при этом сохранение происходит в хранимой процедуре. Сейчас выдает в model->errors , что такой id существует.

Дмитрий
14.03.2018
19:52:52
Хранимки - зло

Evgeny
14.03.2018
22:24:10
народ подскажите плиз. хочу в ->andWhere() вписать условие прям SQL синтаксисом. Можно ли так?

Admin
ERROR: S client not available

Ruslan
14.03.2018
22:32:06
Через new Expression

Alex
14.03.2018
22:56:33


нас предали!

Alexander
14.03.2018
23:19:02
м? :)

https://github.com/samdark?language=&page=2&q=&tab=repositories&type=fork&utf8=✓

у меня много чего нафоркано :)

Alex
14.03.2018
23:26:43
Но не главный же враг народа)))

Alexander
14.03.2018
23:29:48
Why not? Заметил мелкую багу при очередном изучении кода — можно и поправить :)

Matviy
15.03.2018
01:24:16
Кто знает, как в простую модель (не ActiveRecord) добавить аттрибут ДИНАМИЧЕСКИ, то есть во время исполнения?

Блин, видимо никак. Просто хочу, чтоб в модели формы добавлялись аттрибуты для других языков, кроме стандартного, а не хардкодить эти поля.

Или если вообще в ПХП тупо добавить проперти?

В обёект

обьект

Ничего не понимаю - отдельно такая конструкция работает: class Test { public function __construct() { $x = 'bar'; $this->{$x} = "dynamic"; } } $a = new Test(); print $a->bar; А в модели таким же макаром пробую - эксепшн выбрасывается, типа, сеттинг аннавн проперти. И че делать теперь?

А, ну да, зашибись, в классе компонента так сделано. Ну и как мне теперь добавить аттрибут динамически? фак

Google
Saško
15.03.2018
01:57:03
ну модель как бы подразумевает, что у тебя статический набор полей для динамического, возможно, стоит сделать обёртку типа get('property', 'lang') или типа того либо вообще использовать средства интернационализации из фреймворка

Matviy
15.03.2018
02:01:45
Средства интернационализации фремворка не работают с моделями

Мне просто нужно, чтоб в модели появились дополнительные аттрибуты типа 'name_ru', 'name_pl' и т. д. Не хочу хардкодить их, так как теоретически набор языков на сайте может изменится

Сам прикол, что ПХП позволяет спокойно добавить публичное поле в класс, но класс Component, от которого наследуется модель, выкидывает эксепшн

Alexey
15.03.2018
02:31:48
есть же DynamicModel

Wannabelinus
15.03.2018
03:32:57
С Мамой поделился?

Denis
15.03.2018
04:23:19
Я написал что тебе надо сделать
Я чет такого не помню. Может, путаете с кем-то?

Alex
15.03.2018
04:37:25
Честно говоря твой подход с полями уже немного стремный

☕ CunningFox
15.03.2018
04:53:49
есть же DynamicModel
Он не позволяет добавлять поля динамически после создания

Только те атрибуты которые были заданы

Alexey
15.03.2018
04:54:33
можно ж расширить

Alex
15.03.2018
04:56:59
title [ 'en' => 'Headline', 'ru' => 'Заголовок']

вот так делайте и не выйо))

Denis
15.03.2018
05:08:20
Апну свой вопрос: кто может поделиться решением для аутентификации через ntlm ? Adldap/adldap выглядит кинутым(56открытых ишьюз)

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