9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,118
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Как сделать чтоб для каждого Задания выводилось свое время завершения?28.06.2018, 20:27. Просмотров 1130. Ответов 11
Есть таблица Таскс в которой хранятся название задачи и проект задачи.
Есть таблица Таймс,в ней хранятся дата завершения и дата начала задач. В Виде выводятся список всех записей из таблицы Таскс --- название Задачи и название Проекта задачи . Они выводятся с помощью цикла foreach Благодаря запросу в контроллере
Эта строка обращается как к свойству обьекта а не массива и выводит только первую запись из таблицы Таймс
И проблема как раз заключается в том что мне нужна не первая запись (скриншот прилагаю) из таблицы Таймс мне нужно для каждого Задания свое время завершения ,для этого я пробовал переписать запрос чтоб возвращало массив вот так
А Вывод соотвествено написал так,но в результате после таких изменений вывод Завершения выполнения для каждого Задания имел все значения из таблицы а не для конкретного задания ( скрин 2 прилагаю )
Проблема в том как сделать чтоб для каждого Задания выводилось свое время завершения ? сейчас для каждого Задания выводятся все даты завершения
0
|
|
28.06.2018, 20:27 | |
Как сделать, чтоб выводилось сообщение с четной цифрой(цифрами) как сделать так чтоб если яцейки в столбце одинаковые не выводилось полная строка? Как сделать так, чтобы время выводилось в правй верхний угол консоли
|
|
Особый статус
615 / 214 / 163
Регистрация: 18.11.2015
Сообщений: 1,073
|
|||||||||||||||||||||
29.06.2018, 10:29 | 2 | ||||||||||||||||||||
Зачем данное разделение? Разве нельзя в таблице Task реализовать что-то эдакое:
Тоже оно и понятно, опять же только findAll(); Вообще логики нет в данных запросах. Вам нужно почитать про реляции, я думаю у вас в таблице Task есть поле-внешний ключ к таблице Time, так вот по этому ключу и делайте связи, например при создании CRUD это делается автоматически, если в миграциях прописано:
Из идеи: Я понял, что у каждого Task всего по одной связанной записи в Times, тогда вопрос, который задал выше: "Зачем данное разделение?" очень актуальна. Но хозяин барин, так что ваша реляция должна выглядеть примерно так: 1. В Tasks model: думаю у вас этот вариант
0
|
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,118
|
||||||||||||||||
29.06.2018, 22:11 [ТС] | 3 | |||||||||||||||
FloppyDisc,
Я разделил данные на две таблицы в учебных целях ведь в реальных проектах нельзя сложить все в одну таблицу)) У меня таблицы не связаны внешним ключом,я просто в контроллере записываю сразу айди в таблицу Тайм
И я так и не понял как связывание таблиц позволит мне выводить свое время для каждого таска. и не понял где использовать функции getTime() и getTask().у вас в коде они нигде не используются А модели у меня простые, просто дают достп к таблицам,там нету методов. К примеру модель Таскс
и модель Таймс
0
|
Особый статус
615 / 214 / 163
Регистрация: 18.11.2015
Сообщений: 1,073
|
||||||
29.06.2018, 23:04 | 4 | |||||
![]() Решение
Почему же, можно, если сущность удовлетворяет правилам нормализации и целостности, но ваш пример не очень удачен и совсем не по правилам.
В принципе их не обязательно связывать, оно и так будет работать, но все же, лучше связать - целостность не нарушится. Используются, просто в виде геттеров, вот более понятный вариант:
Советую вам почитать данный раздел документации: Работа со связными данными
1
|
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,118
|
||||||
08.07.2018, 18:25 [ТС] | 5 | |||||
FloppyDisc, матод findAll
выдает ошибку Missing argument 1 for yii\db\BaseActiveRecord::findAll(), called in /var/www/html/timetracker/frontend/controllers/TrackController.php on line 43 and defined
0
|
Особый статус
615 / 214 / 163
Регистрация: 18.11.2015
Сообщений: 1,073
|
|
09.07.2018, 17:59 | 6 |
0
|
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,118
|
||||||
11.07.2018, 21:28 [ТС] | 7 | |||||
только такой вариант не сработал,ошибка Getting unknown property: yii\db\ActiveQuery::start
а в виде геттеров сработал
0
|
Особый статус
615 / 214 / 163
Регистрация: 18.11.2015
Сообщений: 1,073
|
|||||||||||
12.07.2018, 12:03 | 8 | ||||||||||
Я не понимаю логики разделения, у вас у каждого Task (задачи) один или несколько Time (времен завершения)? В таком случае придется переделать реляцию в модели:
0
|
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,118
|
|||||||||||
15.07.2018, 17:16 [ТС] | 9 | ||||||||||
FloppyDisc, нет для каждого Таска одно время в таблице Тайм .То есть вреся завершения одно для каждого таска.
Просто вариант этот вариант цыкла с геттерами работает
А этот не работает.И непонятно почему.
0
|
Особый статус
615 / 214 / 163
Регистрация: 18.11.2015
Сообщений: 1,073
|
|
16.07.2018, 09:04 | 10 |
потому что там массив, но если вы переделали реляцию, то они оба не должны работать...
0
|
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,118
|
|||||||||||
16.07.2018, 22:18 [ТС] | 11 | ||||||||||
FloppyDisc, я поробовал переделать так,но все равно работает только один вариант
Так а разве в первом варианте не массив ? foreach же не будет работать с обьектами.Или в этом случае работает потому что тут массив обьектов ??
0
|
Тематические курсы и обучение профессиям онлайн Профессия PHP-разработчик (Skillbox) Fullstack-разработчик на PHP (Skillbox) Веб-разработчик с нуля (Нетология) Профессия веб-разработчик (Skillbox) |
Особый статус
615 / 214 / 163
Регистрация: 18.11.2015
Сообщений: 1,073
|
|||||||||||
16.07.2018, 22:55 | 12 | ||||||||||
кто это вам сказал
Я уже запутался, что тут первое, а что второе... Окей, в модели Task создаете "связь" 1:1 между таблицами, это так, образно
0
|
16.07.2018, 22:55 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Как сделать так, чтобы в конце записи каждого столбца, выводилось сумма столбца? PagerAdapter, как сделать, чтобы у каждого итема было свое название и свой вид? Как сделать так, чтобы у каждого из ListBox был свой список и свое описание? Цикл: как в vba сделать так, чтобы после каждого завершения цикла происходило сохранение файла? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |