Tinker简介
非常好用的工具:快捷的调试数据库中的数据
例如:当测试创建一篇文章时,要创建控制器+模型+路由
有了tinker就可以不用那么复杂测试。
用法
进入项目目录,执行命令行:php artisan tinker
此时会打开一个交互界面,即一个shell,如下:
Psy Shell v0.8.13 (PHP 7.1.1 — cli) by Justin Hileman
>>>
进入之后我们便可以方便的对某个model对象进行基本的增删改查。
首先,假定我们的项目中已经创建了一个文章类并且已在数据库中存在相应的数据表。
namespace App;
use Illuminate\Database\Eloquent\Model;
class Article extends Model{
//具体代码
}
接下来,开始调试。
增加操作
实例化一个类(带有完整的命名空间)
>>>$article = new \App\Article();
给字段赋值
>>>$article->title = 'title1';
>>>$article->content = 'content1';
保存数据
>>>$article->save();
执行成功返回true,数据表中会增加一条当前测试创建的数据。
查询操作
常用方法:
1. find():只能查主键。
2. where() : 查具体的字段,调用方法有两种,如下:
(first()查找第一个符合条件的,返回数组;get()返回一个collection对象)。
3. all() : 获得全部数据。
4. count() : 获取总条数。
代码如下:
>>>$article = \App\Article::find(1);
>>>$article = \App\Article::where('title','title1')->first();
>>>$articles = \App\Article::where('title','title1')->get();
>>>$all = \App\Article::all();
>>>$count = \App\Article::count();
说明:
以上处理将返回值均赋值给变量,也可不赋值。 若赋值变量,则可直接在命令行中输入变量名查看。
若为查询某一条操作,对该条数据还有后续更改和删除处理,需要使用变量接受返回对象。
更改操作
继上一个find操作之后获得的Article对象,继续更新title字段值,save
>>>$article->title = 'title1111';
>>>$article->save();
成功返回true
删除操作
继上一个find操作之后获得的Article对象,执行删除
>>>$article->delete();
成功返回true。