我有自己的用户模型,需要一些权限。我创建了/app/models/Permissions.php
里面的特质。现在我需要在/app/models/MyUser.php
中使用它。如何在Laravel风格中做到这一点?
答案 0 :(得分:3)
我会这样做。
1。模型
<?php namespace Models;
// app/models/MyUser.php
class MyUser extends \Eloquent {
use \Traits\Permissions;
/* ... */
}
2。创建特质
<?php namespace Traits;
// app/traits/Permissions.php
trait Permissions {
/* ... */
}
3. 修改composer.json并将其添加到classmap
"app/traits",
4. 为了使Laravel可以自动加载特征,您需要转储自动加载文件并生成新文件
php artisan dump
答案 1 :(得分:0)
谢谢你的例子Andreyco。
补充这一点有助于为模型本身添加一个功能。例如,这将输入Trait。在第2步
public function scopeGetMyFunction($query, Request $request)
{
//more code....
$query->get();
}
因此我们可以将它用作控制器上模型的一部分。
public function index(Request $request)
{
$models = \App\Models\User::getMyFunction($request);
return $models;
}