gpt4 book ai didi

php - Laravel/PHP 显示变量的错误输出

转载 作者:行者123 更新时间:2023-11-29 05:53:17 24 4
gpt4 key购买 nike

使用 Laravel 5.4 和 PHP 7.0+,mysql 5.7 我有一个查询返回一个包含正确信息的数组。

propoffice 模型

namespace App\models\core;

class propoffice extends \App\Model
{
protected $primaryKey = 'officeID';
}

这是我的初始查询

  $officeList=propoffice::select('officeID','xOfficeID')
->orderBy('officeID','desc')
->take(1)
->get();

有很多记录,但让我们只看一个。这就是为什么我现在有 take(1)。

dd($officeList)

我明白了

  #attributes: array:2 [▼
"officeID" => "123"
"xOfficeID" => "123"
]
#original: array:2 [▼
"officeID" => "123"
"xOfficeID" => "123"
]

运行循环

foreach($officeList as $the){
echo $the->officeID;
}

我没有看到 123 - 我看到 officeID 字段为 0,但我确实看到 xOfficeID 字段为 123。

我没有 javascript 或 jquery 运行更改值或任何复杂的事情。

数组和输出之间没有其他代码,所以它必须归结为一些我没有直接参与的 laravel/php 进程。

有问题的字段确实是其他地方的字段名称,并且值不匹配。我觉得这是根源,但不知道如何或从哪里看。

编辑:我让我的模型将 primaryKey 设置为 officeID,它是 varchar。在 laravel 中,primaryKey 应该是一个整数,这让我忘记了。所以原始数据很好,但是当在输出中返回值时,非整数值被模型突变为 0

最佳答案

你得到 0 因为你的模型和你的表之间存在冲突

在您的模型中,您将 officeID 设置为主键,但在您的表中,它是一个 varchar 列。模型期望 primaryKey 列是一个整数。

这会给你错误。所以你应该要么

  1. 删除 propoffice 模型上 protected $primaryKey = 'officeID' 行

  2. 如果您需要它作为主键,请将该字段设置为整数。

  3. 了解如何将主键设置为 varchar。 (不好的做法)。

关于php - Laravel/PHP 显示变量的错误输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52155661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com