Laravel返回Id列的字符串

时间:2017-03-09 20:42:39

标签: php laravel object

我有表PEOPLE的id列类型(CHAR 7),如:

id       name               address
-------+------------------+---------
0010014  MUZZACHIODI FELIX  SAN MARTIN

我的控制器:

$people= People::find($id);

查看返回INTEGER:

{{ $people->id }} return 10014

如何保持字符串ID?我试过了 {!! $ people-> id !!}或(字符串)$ people-> id

预期产出:

0010014

2 个答案:

答案 0 :(得分:3)

您需要通过您的模型告诉Laravel primary key is not an integer

class People extends Model
{
    public $incrementing = false; // <---------

希望这有帮助!

答案 1 :(得分:0)

您可以castid作为字符串,如此

protected $casts = [
    'id' => 'string',
];

但我建议您将记录id保留为自动递增的int,并添加类似person_id的内容,其中包含您的字符串ID,因为您可能会遇到管理模型的问题演员身份。