artisan tinker环境
通过 Laravel 提供的 Tinker 环境可以让我们完成Eloquent 模型数据对象创建。Tinker 是一个 REPL (read-eval-print-loop),REPL 指的是一个简单的、可交互式的编程环境。
进入环境,Ctrl + C退出:
$ php artisan tinker
创建对象:
>>> App\Models\User::create(['name'=> 'Aufree', 'email'=>'aufree@yousails.com','password'=>bcrypt('password')])
时区问题:修改配置项config文件夹 app.php的'timezone' => 'PRC'
,即可,需要重新进入tinker生效
1,查询
使用 use
来引用 App\Models\User
Eloquent 模型类:
>>> use App\Models\User
这样我们就可以在后面的操作中直接调用 User
而不是完整的类名 App\Models\User
查找一个 id 为 1 的用户时,可以使用下面这种方法:
>>> User::find(1)
查询用户不存在时触发报错的话,可使用 findOrFail
>>> User::findOrFail(5)
查找用户表中的首个用户,可以使用 first 方法。还可以用 all 方法取出所有的用户数据:
>>> User::first()
>>> User::all()
2,更新
首先,让我们将用户对象从数据库中取出,并赋值给 user
变量
>>> $user = User::first()
使用属性赋值更新的方法对用户名进行更新,将其名字更改为 Summer
:
>>> $user->name = 'Summer'
调用 save 方法对用户信息进行保存。
>>> $user->save()
或者直接用update方法:
>>> $user->update(['name'=>'Aufree'])
3,时间
diffForHumans
为我们生成的时间是英文的,如果要使用中文时间,则需要对 Carbon 进行本地化设置。Carbon 是 PHP DateTime 的一个简单扩展,Laravel 将其默认集成到了框架中。对 Carbon 进行本地化的设置很简单,只在 AppServiceProvider
中调用 Carbon 的 setLocale
方法即可,AppServiceProvider
是框架的核心,在 Laravel 启动时,会最先加载该文件。
public function boot() { Carbon::setLocale('zh'); }
>>> $created_at = App\Models\User::first()->created_at >>> $created_at->diffForHumans() => "17年前"