📜  Laravel Tinker

📅  最后修改于: 2021-01-05 10:54:11             🧑  作者: Mango

拉拉维尔(Laravel Tinker)

Laravel Tinker允许您与数据库交互,而无需创建路由。 Laravel Tinker与php artisan一起使用来创建对象或修改数据。 php artisan是Laravel提供的命令行界面。 Tinker是一个与php artisan一起使用的命令工具。修补程序围绕数据库运行,这意味着您可以创建对象,插入数据等。

  • 要进入Tinker环境,请运行以下命令:

PHP工匠修补匠

上面的屏幕显示已创建修补程序环境。

建立资料

  • 我们可以使用命令行工具在数据库表中创建记录。我们在将数据直接插入数据库表的命令行工具中使用以下语句: $ post = App \ Post :: create(['title'=>'Akshay','body'=>'akshay是一个软件开发师']);

输出量

当我们执行上面的语句时,数据被插入到一个posts表中。我们可以在phpMyAdmin中查看插入的数据,如以下屏幕截图所示:

我们还可以使用另一种方式通过创建对象来插入数据。

  • 首先,我们创建对象。

在上面的屏幕中,突出显示的行正在创建对象,并且该对象的名称为$ post。 $ post是App \ Post类的对象。

通过在命令行工具中指定对象的名称,我们还可以查看$ post对象是否已成功创建给定类。

上面突出显示的区域显示$ post对象已成功创建,因为$ post显示类的名称App \ Post

  • 创建对象后,我们将在对象的帮助下插入数据。

在上面的屏幕中,我们分别使用语句$ post-> title和$ post-> body ,将值分配给了posts表中列的title和body。但是,仍然没有将数据插入表中。要将数据插入表中,我们需要使用下面给出的语句:

$ post-> save(); //将记录保存在数据库表中。

当我们在命令行工具中键入$ post时,

上面突出显示的区域显示记录已保存在帖子表中

让我们看看phpMyAdmin中的posts表

查找记录

我们可以通过三种方式从数据库中检索记录:

  • 第一种方法是使用find()方法。

  • 第二种方法是使用约束,即where子句。

在上面的屏幕中,我们正在检索记录,其ID等于1。在这种情况下,我们使用first()方法,因为first()方法用于检索单个记录。

在上面的屏幕中,我们正在检索ID大于1的记录。在这种情况下,要提取多个记录,因此我们使用get()方法。当检索记录数组时,使用get()方法。

  • 第三种方法是使用whereId()

更新数据

在本节中,我们将学习如何更新数据库中的数据。

让我们通过一个例子来理解。

  • 首先,我们找出要更新的对象。

在上面的屏幕中,我们检索了第二条记录并存储在$ post对象中。

  • 现在,我们更新两列的标题和正文的值。

  • 要将记录保存到数据库中,我们使用save()方法。

在上面的屏幕中, save()方法返回true,这意味着该记录已在数据库中成功更新。

删除资料

现在,我们将看到如何从数据库表中删除数据。

让我们通过一个例子来理解。

  • 我们知道$ post是一个包含第二条记录的对象,首先,我们在$ post对象上应用delete()。

上面的屏幕显示delete()方法返回true值,这意味着该记录已被删除。

  • 现在,我们将查看数据库是否实际上删除了ID等于2的记录。

正如我们从上面的屏幕截图中可以看到的那样,表中的' id'2记录仍然可用,但是delete_at列中的日期不是null,这意味着该记录已被软删除。

  • 要永久删除记录,

在上面的屏幕中,我们使用$ post-> onlyTrashed()表示$ post对象仅包含已删除的记录。

要永久删除已删除的记录,我们在$ post对象上使用forceDelete()方法。

上面的屏幕显示forceDelete()方法返回一个值,这意味着该记录已成功从表中删除。

让我们看一下数据库:

在上面的屏幕截图中,我们观察到' id'2的记录已从posts表中删除。

与修补匠的关系

到现在为止,我们通过使用路线找到了关系。现在,我们将通过修补程序看到这种关系。在laravel关系主题中,我们借助查找属于每个用户的帖子的路线来阅读一对一关系。现在,我们在修补程序环境中找到每个用户的帖子。

让我们通过一个例子来理解。

  • 首先,我们查看表,用户表和帖子表中的可用数据。

用户表

帖子表

  • 在这一步中,我们将找到用户。

在上面的屏幕截图中,我们观察到$ user对象包含第二个用户,即' users '表中'id'等于2的记录。

  • 现在,我们通过$ user对象实现User模型中可用的posts()方法。语句“ $ user-> posts ”调用User类的posts方法。

上面的屏幕显示语句' $ user-> posts '从' posts '表中检索用户的帖子。