Model::create () 方法从哪里来的 ?
Model 类源码
namespace Illuminate\Database\Eloquent;
abstract class Model implements Arrayable, ArrayAccess, Jsonable, JsonSerializable, QueueableEntity, UrlRoutable
{
// 省略 (●'◡'●)
}
通过 artisan make:model User 创建一个模型 ,创建的文件内容如下
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
// 省略 ...
public function demo()
{
// 使用 create() 方法插入一条新记录
$this->create([
'username' => 'test',
'password' => '******'
]);
}
}
可以看到创建的模型默认是继承 Illuminate\Database\Eloquent\Model ,然后可以通过 create () 方法来插入记录
但是打开 Model 类的源码看了一下 ,里面并没有 create () 及 update () 这些方法的实现 ,那这些方法是哪里来的呢 ?大概是我面向对象学的太渣了 ,实在想不出来~
推荐文章: