#arrays #laravel #model-view-controller #laravel-8
Вопрос:
У меня есть an if else block
, который возвращает список записей, если они есть в массиве, и, если они пусты, возвращает набор полей ввода.
Я сравнил два пустых массива, т.Е. У них обоих НУЛЕВЫЕ записи в базе данных. С моим $jobseeker->exams
массивом все работает нормально. Но с моим $jobseeker->dependents
массивом поля ввода не будут отображаться.
После проверки остальной части кода я попытался выполнить ddd(empty())
проверку, чтобы увидеть, есть ли какие-либо проблемы с самими массивами:
$jobseeker->exams
возвращеноtrue
ожидаемое поведение, когда я выполнилddd('$jobseeker->exams')
его, вернулосьnull.
$jobseeker->dependents
возвращеноfalse
:/, но когда я выполнилddd('$jobseeker->dependents')
после того, как он только показывает[]
. (Опять же, в настоящее время в базе данных нет записей)
Что следует отметить:
- До того, как это произошло, у меня
dependents
в таблице было 2 записи, но я удалил их с помощью phpMyAdmin. Когда я подумал, что это может быть причиной, я выполнил amigrate:refresh
в своей базе данных, но результат все тот же. - Два массива представляют собой двумерные массивы, где: (вероятно, это неточный способ описания)
$jobseeker->dependents = [[0]['name','relationship'],[1]['name','relationship']] //and so on
$jobseeker->exams = [[0]['name','date'],[1]['name','date']] //and so on
Вопросы
Что случилось с моим кодом?
Что я могу сделать (если это возможно):
- Чтобы мой
jobseeker->dependents
массив снова стал нулевым - Избегайте повторения этого (как правильно удалять записи из красноречивой модели?)
Ответ №1:
Проверьте свою модель, подумайте dependents
, что это отношение, и laravel вызовет эту функцию и вернет пустой массив
обратитесь