【问题标题】:Empty Array keeps behaving like it has records空数组一直表现得像有记录一样
【发布时间】:2021-12-10 08:53:41
【问题描述】:

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

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

在检查了其余代码后,我尝试进行ddd(empty()) 检查以查看数组本身是否有任何问题:

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

注意事项:

  1. 在这发生之前,我的dependents 表上确实有 2 条记录,但我使用 PhpMyAdmin 删除了它们。当我认为这可能是原因时,我在我的数据库上执行了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 数组再次变为空
  2. 避免这种情况再次发生,(如何从 eloquent 模型中正确删除记录?)

【问题讨论】:

    标签: arrays laravel model-view-controller laravel-8


    【解决方案1】:

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

    参考

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

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      相关资源
      最近更新 更多