• Как сделать, чтобы ActiveRecord mongodb отдавал молели, а массив?

    qonand
    @qonand
    Software Engineer
    оказывается, что по умолчанию, в анонимную функцию передается не модель, а просто массив.

    В ананонимку передаются те данные которые Вы сформировали, в данном случае Вы формируете данные с помощью yii\mongodb\Query. Query - это обычный запрос не привязанный никоим образом к объектам. Если хотите привязывать результат запроса к объектом используйте yii\mongodb\ActiveQuery
    Ответ написан
    Комментировать
  • Почему нельзя вызвать __call из родительского класса?

    rdifb0
    @rdifb0
    Программист, реалист
    При выполнении, получается, что зовется call от дочернего класса B, почему?

    Потому что вы его переопределили? Как вы себе представляете наследование с переопределением, если бы предки всегда вызывали только свои методы? Каждый вызов метода проходит всю цепочку наследования по новой.
    Ответ написан
    Комментировать
  • Как между каждым четным row gridview отрисовать отдельный блок?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Варианты:
    Простой: закинуть div в каждый row и через css скрыть нечетные
    Сложный: сделать свой gridview и унаследовать от базового и переопределить метод, который формирует row. Возможно получится сделать это через behaviors, которые можно присобачить к gridview. Не пользовался этим, но возможно именно через behaviors можно переопределить метод, если не изменяет память это renderTableRow
    Правильный:
    в value у Вас function(Model $model) , а на самом деле туда передаются 4 параметра ($model, $_key, $_index, $_column)
    соответственно вы можете проверить $_index на четность
    'columns' => [
                            [
                                'attribute' => 'title',
                                'format' => 'html',
                                'value' => function($model, $key, $index) {
    if(($index % 2) == 0){
     return "я четная строка";
    }else{
     return "я сука не сильно четная";
    }
                                }
                            ],
    Ответ написан
    Комментировать
  • Скажите как в YII (ActiveRecord) указать какую именно колонку вернуть из таблицы?

    mhthnz
    @mhthnz
    PHP, YII2, Golang, Linux
    ...
    return \yii\helpers\ArrayHelper::getColumn($data, 'authors_id');
    Ответ написан
    Комментировать
  • (PHP) Convert string to int?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    $numbers = explode(',', $str);
    
    array_walk($numbers, function(&$value) { $value = intval(trim($value, '"'));} );
    Ответ написан
    Комментировать