在模型上创建对象时,Laravel修补器显示#706

时间:2015-11-12 16:28:25

标签: php laravel-5.1

我是Laravel的新手,我正在尝试像这样修补一个对象:

$user = new App\User;

它输出如下结果:

tex.stackexchange

我正在引用Laravel强制转换教程,其中$user = new App\User;段代码显示表结构及其关系。

但是,如果我获取结果:

enter image description here

这是他在修补方法上调用方法时得到的结果 enter image description here

是什么原因?

2 个答案:

答案 0 :(得分:1)

这可能是一种误解。根据我所看到的,tinker是与您的应用程序进行交互的命令。一个简单的REPL(读取评估打印循环)工具,用于在命令行上运行您的应用程序。

您正在执行以下操作:

$user = App\User::first();

嗯,这是你正在调用的一个Eloquent方法,它会查询数据库,获取第一个用户并输出它(在这种情况下是命令行)。

要回答您的问题:您无法在此命令行上看到数据库结构,除非您的应用程序中有任何代码要输出它。

为什么不咨询您连接的数据存储区(可能是其中之一:Mysql,内存中,SQLite)?

一个好的起点是查看您的迁移。您也可以,如果您正在使用Mysql,请下载Mysql workbench。

答案 1 :(得分:0)

这确实是行为。当您键入

$user = new App\User;

您正在实例化User模型,因此您可以设置其名称和其他值并将其保存到db,因此,首先只应该只显示您刚刚实例化的类。

当您输入

App\User::first();

它返回db的第一行及其结构和值,但前提是你在db中至少有一行,否则它只返回null

  

哦,顺便说一句#706 它只是一个随机id laravel和修补匠使用,没有什么可担心的,我的#689