Ответы пользователя по тегу Yii
  • Yii2 цикл Join'ов, как?

    @LAV45
    Если я вас правильно понимаю тогда ваш запрос будет выглядеть как-то так:
    $data = Product::find()
    	->joinWith('table')
    	->where(['table.value_id' => [1, 2, 3]])
    	->asArray()
    	->all();

    Сам не понимаю почему такие sql сгенерировало :(
    SELECT `product`.* FROM `product` LEFT JOIN `table` ON `product`.`id` = `table`.`product_id` WHERE `table`.`value_id` IN (1, 2, 3);
    SELECT * FROM `table` WHERE `product_id` IN ('1', '2');


    Но я бы сделал вот так:
    $data = Product::find()
    	->with([
    		'table' => function(Query $q) {
    			$q->where(['value_id' => [1, 2, 3]]);
    		}
    	])
    	->asArray()
    	->all();

    SELECT * FROM `product`;
    SELECT * FROM `table` WHERE (`value_id` IN (1, 2, 3)) AND (`product_id` IN ('1', '2'));

    // print_r($data);
    Array
    (
        [0] => Array
            (
                [id] => 1
                [manufacturer_id] => 2
                [category_id] => 13
                [status] => 10
                [name] => фотокамера Canon SX 150 IS black
                [created_at] => 1395167522
                [updated_at] => 1395167679
                [table] => Array
                    (
                        [product_id] => 1
                        [value_id] => 1
                    )
            )
    
        [1] => Array
            (
                [id] => 2
                [manufacturer_id] => 2
                [category_id] => 29
                [status] => 10
                [name] => сумка
                [created_at] => 1395170865
                [updated_at] => 1395170865
                [medium_delivery] => 0
                [table] => Array
                    (
                        [product_id] => 2
                        [value_id] => 1
                    )
            )
    )
    Ответ написан
    Комментировать
  • Как перенести статьи с MODX на Yii2?

    @LAV45
    MaxKorz, это только в том случае если в самом MODx проставлены foreign key для mysql, но я ещё не встречал ни одного такого движка.

    Вам не нужно создавать БД похожую как у MODx вы можете взять её как есть и создать модели через gii. Если в БД будут прописаны foreign key тогда gii сам пропишет все связи между моделями иначе придется в ручную настраивать все связи.
    Ответ написан
    Комментировать
  • Как подключить поддомен для статики в Yii2?

    @LAV45
    config/main.php
    return [
    	'components' => [
    		'assetManager' => [
    			'baseUrl' => 'http://src.site.my',
    		],
    	],
    ];


    На выходе
    <script src="http://src.site.my/22478422/jquery.min.js"></script>
    Ответ написан
    Комментировать
  • (Yii2) Как инклудить View файл?

    @LAV45
    <?php include __DIR__ . '/blocks/right_block.php'; ?>

    По моему этот вариант ещё никто не удалял ;)
    Ответ написан
    Комментировать
  • Как хэндлить такие роуты в Yii2?

    @LAV45
    '/products/*'
    а где ты видел такой preg_match?
    '/products/.*' - по моему так должно сработать
    Ответ написан
    Комментировать
  • (PHP, Yii2) Куда грузить публичные файлы (аватары, картинки)?

    @LAV45
    Я бы добавил Common, Backend и Frontend ещё и папку Img которую бы вынес на суб-домен и раздавал бы картинки от туда.
    Ответ написан
    Комментировать