Skip to content

Commit e22094b

Browse files
committed
docs and readme upd
1 parent ad6598d commit e22094b

File tree

5 files changed

+210
-12
lines changed

5 files changed

+210
-12
lines changed

README.md

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,201 @@ print_r($dataProvider->getModels());
532532
)*/
533533

534534

535+
// Используем упрощенный синтаксис построения запросов
536+
// Получим все адреса с городом, местами и комментариями, оценка которых не ниже трех
537+
// Метод City:select() добавлен в модель City с помощью трейта ActiveRecordTrait
538+
$result = Address::select('a')
539+
->with('city', 'c')
540+
->with('places', 'p')
541+
->with(
542+
'comments', 'cm', 'p',
543+
'left', 'and cm.mark >= :mark', [':mark' => 3]
544+
)
545+
->all();
546+
547+
print_r($result);
548+
/*Array
549+
(
550+
[0] => Array
551+
(
552+
[id] => 1
553+
[city_id] => 1
554+
[name] => Tverskaya st., 7
555+
[city] => Array
556+
(
557+
[id] => 1
558+
[name] => Moscow
559+
)
560+
561+
[places] => Array
562+
(
563+
[0] => Array
564+
(
565+
[id] => 1
566+
[address_id] => 1
567+
[name] => TC Tverskoy
568+
[comments] => Array
569+
(
570+
[0] => Array
571+
(
572+
[id] => 1
573+
[place_id] => 1
574+
[username] => Ivan Mustafaevich
575+
[mark] => 3
576+
[text] => Not bad, not good
577+
)
578+
579+
[1] => Array
580+
(
581+
[id] => 2
582+
[place_id] => 1
583+
[username] => Peter
584+
[mark] => 5
585+
[text] => Good place
586+
)
587+
588+
)
589+
590+
)
591+
592+
[1] => Array
593+
(
594+
[id] => 2
595+
[address_id] => 1
596+
[name] => Tverskaya cafe
597+
[comments] => Array
598+
(
599+
)
600+
601+
)
602+
603+
)
604+
605+
)
606+
607+
[1] => Array
608+
(
609+
[id] => 2
610+
[city_id] => 1
611+
[name] => Schipok st., 1
612+
[city] => Array
613+
(
614+
[id] => 1
615+
[name] => Moscow
616+
)
617+
618+
[places] => Array
619+
(
620+
[0] => Array
621+
(
622+
[id] => 3
623+
[address_id] => 2
624+
[name] => Stasova music school
625+
[comments] => Array
626+
(
627+
[0] => Array
628+
(
629+
[id] => 4
630+
[place_id] => 3
631+
[username] => Ann
632+
[mark] => 5
633+
[text] => The best music school!
634+
)
635+
636+
)
637+
638+
)
639+
640+
)
641+
642+
)
643+
644+
[2] => Array
645+
(
646+
[id] => 3
647+
[city_id] => 2
648+
[name] => Mayakovskogo st., 12
649+
[city] => Array
650+
(
651+
[id] => 2
652+
[name] => St. Petersburg
653+
)
654+
655+
[places] => Array
656+
(
657+
[0] => Array
658+
(
659+
[id] => 4
660+
[address_id] => 3
661+
[name] => Hostel on Mayakovskaya
662+
[comments] => Array
663+
(
664+
)
665+
666+
)
667+
668+
[1] => Array
669+
(
670+
[id] => 5
671+
[address_id] => 3
672+
[name] => Mayakovskiy Store
673+
[comments] => Array
674+
(
675+
[0] => Array
676+
(
677+
[id] => 5
678+
[place_id] => 5
679+
[username] => Stas
680+
[mark] => 4
681+
[text] => Rather good place
682+
)
683+
684+
)
685+
686+
)
687+
688+
)
689+
690+
)
691+
692+
[3] => Array
693+
(
694+
[id] => 4
695+
[city_id] => 2
696+
[name] => Galernaya st., 3
697+
[city] => Array
698+
(
699+
[id] => 2
700+
[name] => St. Petersburg
701+
)
702+
703+
[places] => Array
704+
(
705+
[0] => Array
706+
(
707+
[id] => 6
708+
[address_id] => 4
709+
[name] => Cafe on Galernaya
710+
[comments] => Array
711+
(
712+
[0] => Array
713+
(
714+
[id] => 6
715+
[place_id] => 6
716+
[username] => Stas
717+
[mark] => 3
718+
[text] => Small menu, long wait
719+
)
720+
721+
)
722+
723+
)
724+
725+
)
726+
727+
)
728+
729+
)*/
535730
```
536731

537732
Репозиторий с демонстрацией использования расширения: https://github.com/Smoren/yii2-query-relation-manager-demo

src/ActiveRecord/ActiveRecordTrait.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77
use Smoren\Yii2\QueryRelationManager\Base\QueryRelationManagerException;
88

99
/**
10-
* Trait ActiveRecordTrait
1110
* Trait для упрощения построения запросов с помощью QueryRelationManager
12-
* @package app\qrm\ActiveRecord
11+
* @package Smoren\Yii2\QueryRelationManager\ActiveRecord
12+
* @author Smoren <ofigate@gmail.com>
1313
*/
1414
trait ActiveRecordTrait
1515
{
1616
/**
17-
* @param string|null $alias
17+
* Создает запрос QueryRelationManager к таблице модели ActiveRecord, к которой применен трейт
18+
* @param string|null $alias псевдоним таблицы в запросе
1819
* @return QueryRelationManager
1920
* @throws QueryRelationManagerException
2021
*/

src/ActiveRecord/QueryRelationDataProvider.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
use yii\db\Query;
1111

1212
/**
13-
* Class QueryRelationDataProvider
14-
* DataProvider для запросов QueryRelationManager
15-
* @package app\qrm\ActiveRecord
13+
* DataProvider для организации постраничной навигации в QueryRelationManager
14+
* @package Smoren\Yii2\QueryRelationManager\ActiveRecord
15+
* @author Smoren <ofigate@gmail.com>
1616
*/
1717
class QueryRelationDataProvider extends BaseDataProvider
1818
{
1919
/**
20-
* @var QueryRelationManager
20+
* @var QueryRelationManager объект QueryRelationManager
2121
*/
2222
public $queryRelationManager;
2323

src/ActiveRecord/QueryRelationManager.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@
1111
use yii\db\ActiveRecord;
1212

1313
/**
14-
* Class for making queries for getting data from database with relations and filters
15-
* @package Smoren\Yii2\QueryRelationManager
14+
* Реализация QueryRelationManager для ActiveRecord в Yii2
15+
* @inheritDoc
16+
* @package Smoren\Yii2\QueryRelationManager\ActiveRecord
1617
* @author Smoren <ofigate@gmail.com>
1718
*/
1819
class QueryRelationManager extends QueryRelationManagerBase

src/ActiveRecord/QueryWrapper.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88

99

1010
/**
11-
* Class QueryWrapper
12-
* Класс-обертка для ActiveQuery
13-
* @package app\qrm\ActiveRecord
11+
* Реализация обертки ActiveQuery для QueryRelationManager
12+
* @inheritDoc
13+
* @package Smoren\Yii2\QueryRelationManager\ActiveRecord
14+
* @author Smoren <ofigate@gmail.com>
1415
*/
1516
class QueryWrapper implements QueryWrapperInterface
1617
{

0 commit comments

Comments
 (0)