使用 Tinx 重载 Laravel Tinker 会话
Laravel Tinx 是 Anders Jürisoo 写的一个新包,Tinx 可以从 tinker 内部重载一个 Laravel Tinker 命令行,同时为first() , find() 和 search() 这样的操作提供了易理解的缩略写法。
安装包之后,你可以通过一个 artisan 命令来使用它:
php artisan tinx
Tinx 一个突出功能特性是通过 re() 命令来更新你的 Tinker 会话。
$ php artisan tinx
Tinx - something awesome is about to happen.
>>> re()
Reloading your tinker session.
>>>
Tinx 已有一些快捷键,亦会探查你的模型文件来配备一些简略方法。下面是缩略方法 ($u) 来获取第一个用户 (在你至少创建一个用户之后):
$ php artisan tinx
>>> factory('App\User', 10)->create();
=> App\User {#959
name: "Florine Herzog",
email: "schowalter.rowan@example.net",
updated_at: "2017-10-24 03:10:11",
created_at: "2017-10-24 03:10:11",
id: 1,
}
...
>>> $u
=> {#919
+"name": "example",
+"email": "you@example.com",
}
如果你想通过 id 来获取特定的用户,你可以将 id 传参到 u() 方法来获取。
$ php artisan tinx
>>> u()
=> "App\User"
>>> u(3)
=> App\User {#773
id: 3,
name: "Alicia Grant",
email: "veda.koepp@example.net",
created_at: "2017-10-24 03:13:47",
updated_at: "2017-10-24 03:13:47",
}
下面是一些 readme 上写的简略方法工作原理的例子:
用法示例 等同
$u App\User::first()
$c App\Models\Car::first()
u(3) App\User::find(3)
u("gmail") Where "gmail" is found in any column.
u() "App\User"
u()::where(...) App\User::where(...)
如果你有多个相同字母开头的模型文件,例如 Picture 和 Players. Tinx 会将 $pi 和 $pl 作为对应模型的第一条记录,Picture 和 Players 兼带的助手函数为 pi() 和 pl().
访问官方仓库来获取更多信息及从 Laravel Tinker 会话中获得一些惊艳的额外功能。
原文链接:https://laravel-news.com/laravel-tinx
如果翻译的不好,请指正,我再修改
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Summer
于 8年前 加精
关于 LearnKu
推荐文章: