Я использую свойство toMany() в Laravel, но у сотрудника может быть несколько позиций, я хочу принести сотрудникам самую большую дату и desc id.Laravel принадлежитToMany() date desc
ответ
В вашем Person.php, добавьте обратно отношение к Position.php
public function positions()
{
return $this->belongsToMany('Path\To\Person')->withPivot(['id', 'person_id', 'position_id', 'created_at', 'updated_at']);
}
Теперь вы можете сделать что-то вроде ....
$positions = Person::positions()
->wherePivot('action_date', '>=', $date)
->orderBy('person_position.id', 'desc')
->get();
$pivotTable = $positions->map(function($position) {
return $position->pivot;
});
Дайте мне знать, если вы столкнулись с любым другим вопросом:
Благодарим за помощь. Этот код предназначен только для персонала, мне нужен код, который работает с «mysql query». Образец кода; "Позиция :: найти (1) -persons() -> whereBranch (1) -> счетчик();" Есть ли код, который может предоставить этот вопрос? –
@DavutKember В комментарии выше, ** «Я хочу, чтобы найти позицию, в которой работает персонал в настоящее время ...» ** Как по приведенному выше коду (который вы только что прокомментировали) вы находите позицию? Выполняя 'Position :: find (1)' ... Вы уже знаете, на каком месте работает персонал. Пожалуйста, будьте ясны. – prateekkathal
Я хочу найти всех сотрудников, которые работают в том положении, которое я хочу. Обращайтесь к базе изображений снова, тот же персонал имеет три позиции. Я хочу, чтобы позиция с наивысшей датой была действительной. Итак, в соответствии с последней базой данных на картинке, я хочу, чтобы «Позиция :: find (2) -> people() -> count() запрос прибыл в 0, а Position :: find (9) -> человек () -> count(), чтобы прийти к 1 " " Прошу прощения за плохой английский, я переводил его с помощью Google Translate ". –
- 1. Laravel принадлежитToMany Вопрос о связи
- 2. Laravel принадлежитToMany исключить сводную таблицу
- 3. Laravel: принадлежитToMany с дополнительными полями
- 4. Laravel принадлежитToMany и Eloquent query
- 5. Sequelize принадлежитToMany
- 6. Laravel принадлежитToMany работает только в одном направлении
- 7. hasMany vs принадлежитToMany в laravel 5.x
- 8. Звонок на неопределенную функцию App \ принадлежитToMany [Laravel]
- 9. Laravel принадлежитToMany, не может его решить
- 10. Laravel count Eloquent принадлежитToMany related model
- 11. Laravel 5 принадлежитToMany() на пользовательской таблице
- 12. Laravel принадлежитToMany порядок таблиц в запросе вставки
- 13. laravel принадлежитToMany со всеми строками модели
- 14. Postgres DESC index on date field
- 15. Ruby/Rails sort_by date desc, name asc
- 16. Larvel Pivot Table принадлежитToMany
- 17. извлечения записей со сводной таблицей по laravel принадлежитToMany
- 18. Eager load single item with Eloquent принадлежитToMany
- 19. SQL-запрос от DATE DESC + group на другом столбце
- 20. wordpress reading static page display posts orderd by date desc
- 21. cakephp 3 сохранение саморекламы принадлежитToMany
- 22. BookshelfJS принадлежитToMany не возвращает дубликатов
- 23. ORDER by desc/desc with different LIMIT
- 24. MYSQL DESC LIMIT Переменная
- 25. Laravel 4,2 Группа по и OrderBy ID DESC
- 26. Laravel Список по дате по Цена, Цена Desc
- 27. laravel - данные группы DATE (created_at) с разбивкой на страницы
- 28. Заказывайте MEETING_ID DESC
- 29. Книжная полка (knex) - принадлежитToMany отношение не работает
- 30. Торт 3 сбережения принадлежитToMany отношения сбоев
Здесь не так много. Почему вы назвали свою модель во множественном числе? Laravel рекомендует использовать уникальные ключевые слова. Во-вторых, почему вы используете whereRaw и whereHas запрос в вашей функции отношений? Функция отношения не должна иметь запрос 'where', написанный вместе с отношениями ... Наконец, что именно вам нужно? Как 10 имеют самую большую дату на первом снимке? Это потому, что у него самый большой из идентификаторов? – prateekkathal
- Я написал неправильно, уже Position.php. - Я хочу найти позицию, в которой работает персонал в соответствии с датой «action_date». Поэтому я использовал опрос. - На первом снимке, если даты совпадают, используйте последние добавленные данные, то есть самый большой идентификатор. –