AI编程助手
AI免费问答

终于知道Laravel指定表名的重要性了

藏色散人   2020-12-04 17:11   11799浏览 转载

下面由Laravel框架教程栏目给大家介绍Laravel指定表名的重要性,希望对需要的朋友有所帮助!

由于Laravel在创建 <code style="font-family:Menlo,Monaco,Consolas," courier new font-size:13.5px padding:2px color:rgb background-color:rgb>Model 的时候会自动关联对应的表名,具体遇到问题的流程如下:

在Terminal中输入以下指令后会在 <code style="font-family:Menlo,Monaco,Consolas," courier new font-size:13.5px padding:2px color:rgb background-color:rgb>App 目录下创建一个<code style="font-family:Menlo,Monaco,Consolas," courier new font-size:13.5px padding:2px color:rgb background-color:rgb>customer.php 文件

php artisan make:model Customer

但是这边默认需要在数据库中添加的表为 customers 而不是 customer,也就是说系统会自动根据 model 的名称加上复数“s”,这边一般情况是没有问题,但是如果遇到诸如 person 变 people 或者各种我们国人不能很简单辨别的形式,那么实惠对我们的开发造成问题;另外也有可能我们不想要系统自动匹配数据库,而要对表名进行自定义。

我们需要做的其实很简单,在创建的 Model 文件函数中添加一条指定表名的规则:

<?php


namespace App;


use Illuminate\Database\Eloquent\Model;


class Customer extends Model{

 protected $table = 'customer';

}

如上我们加入了 <code style="font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color:>protected $table = 'customer';,强制把 <code style="font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color:>customer.php 对应的数据库指定为 <code style="font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color:>customer,而不是系统默认的 <code style="font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color:>customers。这一点我们也可以在框架自带的User.php中看到,为了程序运行稳定和不出错,这一步应该在每一个<code style="font-family: Menlo, Monaco, Consolas, " courier new monospace font-size: padding: color: rgb background-color:>Model 中都应用。

遇到问题,简单记录...

声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除