Найдено 98 результатов

Alexander_S
2017.03.16, 15:34
Форум: REST API (Yii 2.x)
Тема: Вернуть связанные модели в выборке Rest
Ответы: 9
Просмотры: 5310

Re: Вернуть связанные модели в выборке Rest

public function fields() { return ArrayHelper::merge(parent::fields(), [ 'role' => 'role', ]); } Нет, ведь связанные данные role идут через связь user , соответственно модель Incoice ничего не знает про связанные данные role у user . ммм, все разгадал. Нужно в Invoice модели определить: public func...
Alexander_S
2017.03.16, 15:18
Форум: REST API (Yii 2.x)
Тема: Вернуть связанные модели в выборке Rest
Ответы: 9
Просмотры: 5310

Re: Вернуть связанные модели в выборке Rest

ElisDN писал(а): 2017.03.16, 13:47

Код: Выделить всё

public function fields()
{
    return ArrayHelper::merge(parent::fields(), [
         'role' => 'role',
    ]);
}
Нет, ведь связанные данные role идут через связь user, соответственно модель Incoice ничего не знает про связанные данные role у user.
Alexander_S
2017.03.16, 13:04
Форум: REST API (Yii 2.x)
Тема: Вернуть связанные модели в выборке Rest
Ответы: 9
Просмотры: 5310

Re: Вернуть связанные модели в выборке Rest

ElisDN писал(а): 2017.03.16, 07:39 Тогда так:

Код: Выделить всё

public function fields()
{
    return ArrayHelper::merge(parent::fields(), [
         'role' => 'user.role',
    ]);
}
Нет, увы, ошибки начинают вываливаться:

Код: Выделить всё

/vendor/yiisoft/yii2/db/BaseActiveRecord.php(286): yii\base\Component->__get('user...')
Alexander_S
2017.03.15, 23:15
Форум: REST API (Yii 2.x)
Тема: Вернуть связанные модели в выборке Rest
Ответы: 9
Просмотры: 5310

Re: Вернуть связанные модели в выборке Rest

https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/rest-resources.md#Переопределение-extrafields- не хочется получать связанные данные через указание доп. параметра expand , но даже при: public function extraFields() { return ['user.role']; } не понятно, что нужно указать в expand , чтобы по...
Alexander_S
2017.03.15, 22:57
Форум: REST API (Yii 2.x)
Тема: Вернуть связанные модели в выборке Rest
Ответы: 9
Просмотры: 5310

Re: Вернуть связанные модели в выборке Rest

наверно вам надо жадная загрузка (with) https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/db-active-record.md#Отложенная-и-жадная-загрузка- Нет, даже если я укажу так: public function index() { return \app\models\Invoice::find()->with(['user', 'user.role'])->all(); } они не появятся в ответ...
Alexander_S
2017.03.15, 22:30
Форум: REST API (Yii 2.x)
Тема: Вернуть связанные модели в выборке Rest
Ответы: 9
Просмотры: 5310

Вернуть связанные модели в выборке Rest

Всем привет. Есть модель со связанными данными: Invoice->User->Role Как при выборке моделей Invoice сразу же получить User и Role . Т.е. чтобы при: public function index() { return \app\models\Invoice::find()->all(); } в ответе было: items : [ { 'id' : 1, 'title' : 'Invoice 1', 'user' : { 'name' : '...
Alexander_S
2017.02.02, 15:37
Форум: Общие вопросы (Yii 2.x)
Тема: ActiveForm - ajax валидация связанной модели
Ответы: 4
Просмотры: 2296

Re: ActiveForm - ajax валидация связанной модели

Это не совсем то, потому что там идет табличный ввод сохранения существующих моделей, и если я даже в actionUpdate() напишу что-то вроде (хотя это очень коряво): public function actionUpdate($id) { $model = $this->findModel($id); $postTags = $model->getPostTagRelation()->indexBy('tag_id')->all(); $r...
Alexander_S
2017.02.02, 15:00
Форум: Общие вопросы (Yii 2.x)
Тема: ActiveForm - ajax валидация связанной модели
Ответы: 4
Просмотры: 2296

ActiveForm - ajax валидация связанной модели

Добрый день. Давно на Yii2 ничего не писал, не могу сообразить как сделать валидацию связанной модели. Есть модели: Post: [id, title] Tag: [id, title] PostTagRelation: [post_id, tag_id] В Post модели есть связь: public function getPostTagRelation() { return $this->hasMany(PostTagRelation::className(...
Alexander_S
2016.10.11, 22:17
Форум: Новости, события, встречи
Тема: Yii 2 Conference 2016, Киев
Ответы: 16
Просмотры: 8814

Re: Yii 2 Conference 2016, Киев

ElisDN писал(а):В анонимайзерах свои лимиты и обрывы связи.
Я через анонимайзер зашел, скачал торрент-файлы и через uTorrent все закачал. Но скоро на ютубе выложат, будет проще конечно )).
Alexander_S
2016.10.11, 16:31
Форум: Новости, события, встречи
Тема: Yii 2 Conference 2016, Киев
Ответы: 16
Просмотры: 8814

Re: Yii 2 Conference 2016, Киев

notgosu Большое спасибо!
По поводу доступа из России - анонимайзером можно.
Alexander_S
2016.10.01, 20:47
Форум: Новости, события, встречи
Тема: Yii 2 Conference 2016, Киев
Ответы: 16
Просмотры: 8814

Re: Yii 2 Conference 2016, Киев

notgosu Спасибо, это отличная новость.
Alexander_S
2016.07.23, 18:41
Форум: Общие вопросы (Yii 2.x)
Тема: Получение связанных данных через REST
Ответы: 19
Просмотры: 7038

Re: Получение связанных данных через REST

Именно в return это выражение не имеет смысла. пока запрос выполняется до return еще не дошли, а когда до return дошли, запрос уже выполнился. Опять же fields служит для гибкого преобразования полей, например, 'categoryname' => function($model) { return $model->category->name; } вы не думайте как б...
Alexander_S
2016.07.23, 18:33
Форум: Общие вопросы (Yii 2.x)
Тема: Получение связанных данных через REST
Ответы: 19
Просмотры: 7038

Re: Получение связанных данных через REST

я объяснил почему это не имеет смысла. семь связей для жадной загрузки не должны быть равны семи новым полям в ответе апи если я в action-е в \yii\rest\Controller-е в return указал:     return \app\models\Post::find()->with(['category'])->all(); то понятно, что кроме того, что я жду в результате от...
Alexander_S
2016.07.23, 18:20
Форум: Общие вопросы (Yii 2.x)
Тема: Получение связанных данных через REST
Ответы: 19
Просмотры: 7038

Re: Получение связанных данных через REST

я именно в плане Rest ответа имел в виду все то, что написал. Т.е. именно, если идет возврат из action-ов \yii\rest\Controller всех тех примеров, что выше описал, чтобы система понимала, что в результат отдавать в том или ином случае. Так-то знаю конечно, что with - это для жадной загрузки. Ладно, с...
Alexander_S
2016.07.23, 18:05
Форум: Общие вопросы (Yii 2.x)
Тема: Получение связанных данных через REST
Ответы: 19
Просмотры: 7038

Re: Получение связанных данных через REST

return array_merge(parent::fields(), [....]); почитайте что я написал под p.s. выше. прочел. к моему коду не относится. Да и, понимаете, ActiveDataProvider к rest не относится. А в качестве провайдера может использоваться все что угодно, не только ActiveDataProivider. если обычная выборка используе...
Alexander_S
2016.07.23, 17:50
Форум: Общие вопросы (Yii 2.x)
Тема: Получение связанных данных через REST
Ответы: 19
Просмотры: 7038

Re: Получение связанных данных через REST

zelenin писал(а):
Alexander_S писал(а):уже зарупортовался
проверочное слово "рупор"?
Опечатался "зарапортовался"
zelenin писал(а):
Alexander_S писал(а):Но дело в том, что тогда в fields придется все поля перечислять

Код: Выделить всё

return array_merge(parent::fields(), [....]);
почитайте что я написал под p.s. выше.
Alexander_S
2016.07.23, 17:41
Форум: Общие вопросы (Yii 2.x)
Тема: Получение связанных данных через REST
Ответы: 19
Просмотры: 7038

Re: Получение связанных данных через REST

В модель добавь fields, а не в контроллер. тьфу блин, точно, уже зарупортовался. Но дело в том, что тогда в fields придется все поля перечислять. Ну да ладно, спасибо. p.s: А вообще млин. не пойму, зачем так все усложнили с этими полями и пагинацией. По хорошему, если обозначил я with в провайдере:...
Alexander_S
2016.07.23, 17:21
Форум: Общие вопросы (Yii 2.x)
Тема: Получение связанных данных через REST
Ответы: 19
Просмотры: 7038

Re: Получение связанных данных через REST

Nanodesu писал(а):Можешь прописать параметр по умолчанию.

Код: Выделить всё

public function actionIndex($expand = 'category') 
Да, это немного не то, что надо, но даже и при этом тоже category не попадает в результат без expand=category
Alexander_S
2016.07.23, 17:16
Форум: Общие вопросы (Yii 2.x)
Тема: Получение связанных данных через REST
Ответы: 19
Просмотры: 7038

Re: Получение связанных данных через REST

fields прописать. в доке читаем. И в fields и в extraFields добавлял: class PostController extends \yii\rest\Controller {     public $serializer = [         'class' => 'yii\rest\Serializer',         'collectionEnvelope' => 'data',     ];     public function fields()     {         return ['category'...