Empty Array保持它有记录的行为



我有一个if else block,如果数组有记录,则返回记录列表,如果为空,则返回一组输入字段。

比较了两个空数组I。e,它们在数据库中都没有记录。我的$jobseeker->exams阵列,一切工作正常。但是对于我的$jobseeker->dependents数组,输入字段不会显示。

在检查了其余的代码之后,我试着做一个ddd(empty())检查,看看数组本身是否有任何问题:

  1. $jobseeker->exams返回true,这是预期的行为,当我执行ddd('$jobseeker->exams')时,它返回null.
  2. $jobseeker->dependents返回false:/,但当我执行ddd('$jobseeker->dependents')后,它只显示[]。(同样,它目前在数据库上没有记录)

注意事项:

  1. 在此发生之前,我确实在我的dependents表上有2条记录,但我使用PhpMyAdmin删除了它们。当我认为这可能是原因时,我在我的DB上执行了migrate:refresh,但结果仍然是相同的。

  2. 这两个数组是二维数组,其中:(这可能是一种不准确的描述方式)

$jobseeker->dependents =  [[0]['name','relationship'],[1]['name','relationship']] //and so on
$jobseeker->exams = [[0]['name','date'],[1]['name','date']] //and so on

问题我的代码怎么了?我能做些什么(如果可能的话):

  1. 让我的jobseeker->dependents数组再次变为null
  2. 避免这种情况再次发生,(如何正确地从雄辩的模型中删除记录?)

检查你的模型,认为dependents是一个关系和laravel调用这个函数并返回空数组

引用

https://laravel.com/docs/8.x/eloquent-relationships

相关内容

  • 没有找到相关文章

最新更新