📅  最后修改于: 2021-01-05 10:54:11             🧑  作者: Mango
Laravel Tinker允许您与数据库交互,而无需创建路由。 Laravel Tinker与php artisan一起使用来创建对象或修改数据。 php artisan是Laravel提供的命令行界面。 Tinker是一个与php artisan一起使用的命令工具。修补程序围绕数据库运行,这意味着您可以创建对象,插入数据等。
PHP工匠修补匠
上面的屏幕显示已创建修补程序环境。
输出量
当我们执行上面的语句时,数据被插入到一个posts表中。我们可以在phpMyAdmin中查看插入的数据,如以下屏幕截图所示:
我们还可以使用另一种方式通过创建对象来插入数据。
在上面的屏幕中,突出显示的行正在创建对象,并且该对象的名称为$ post。 $ post是App \ Post类的对象。
通过在命令行工具中指定对象的名称,我们还可以查看$ post对象是否已成功创建给定类。
上面突出显示的区域显示$ post对象已成功创建,因为$ post显示类的名称App \ Post 。
在上面的屏幕中,我们分别使用语句$ post-> title和$ post-> body ,将值分配给了posts表中列的title和body。但是,仍然没有将数据插入表中。要将数据插入表中,我们需要使用下面给出的语句:
$ post-> save(); //将记录保存在数据库表中。
当我们在命令行工具中键入$ post时,
上面突出显示的区域显示记录已保存在帖子表中
让我们看看phpMyAdmin中的posts表
我们可以通过三种方式从数据库中检索记录:
在上面的屏幕中,我们正在检索记录,其ID等于1。在这种情况下,我们使用first()方法,因为first()方法用于检索单个记录。
在上面的屏幕中,我们正在检索ID大于1的记录。在这种情况下,要提取多个记录,因此我们使用get()方法。当检索记录数组时,使用get()方法。
在本节中,我们将学习如何更新数据库中的数据。
让我们通过一个例子来理解。
在上面的屏幕中,我们检索了第二条记录并存储在$ post对象中。
在上面的屏幕中, save()方法返回true,这意味着该记录已在数据库中成功更新。
现在,我们将看到如何从数据库表中删除数据。
让我们通过一个例子来理解。
上面的屏幕显示delete()方法返回true值,这意味着该记录已被删除。
正如我们从上面的屏幕截图中可以看到的那样,表中的' id'2记录仍然可用,但是delete_at列中的日期不是null,这意味着该记录已被软删除。
在上面的屏幕中,我们使用$ post-> onlyTrashed()表示$ post对象仅包含已删除的记录。
要永久删除已删除的记录,我们在$ post对象上使用forceDelete()方法。
上面的屏幕显示forceDelete()方法返回一个真值,这意味着该记录已成功从表中删除。
让我们看一下数据库:
在上面的屏幕截图中,我们观察到' id'2的记录已从posts表中删除。
到现在为止,我们通过使用路线找到了关系。现在,我们将通过修补程序看到这种关系。在laravel关系主题中,我们借助查找属于每个用户的帖子的路线来阅读一对一关系。现在,我们在修补程序环境中找到每个用户的帖子。
让我们通过一个例子来理解。
用户表
帖子表
在上面的屏幕截图中,我们观察到$ user对象包含第二个用户,即' users '表中'id'等于2的记录。
上面的屏幕显示语句' $ user-> posts '从' posts '表中检索用户的帖子。