我是Laravel的新手,我正在尝试像这样修补一个对象:
$user = new App\User;
它输出如下结果:
我正在引用Laravel强制转换教程,其中$user = new App\User;
段代码显示表结构及其关系。
但是,如果我获取结果:
是什么原因?
答案 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 。