小编Ahm*_*sam的帖子

具有关系的 Laravel 客户 API 资源

控制器功能:

public function index () {
    // TESTED
    // The getAllActiveSuppliers() function just return Supplier::pagniate(10)
    $suppliers = $this -> model -> getAllActiveSuppliers();
    return new SupplierResource($suppliers);
}
Run Code Online (Sandbox Code Playgroud)

返回的Json:

    {
    "current_page": 1,
    "data": [
        {
            "id": 23,
            "name": "Test Name",
            "description": "Test Description",
            "created_by": {
                "id": 1,
                "name": "Test 1",
                "email": "admin@admin.com",
                "email_verified_at": null,
                "active": 1,
                "created_at": "2018-10-12 14:17:38",
                "updated_at": "2018-10-12 14:17:38"
            },
            "updated_by": {
                "id": 1,
                "name": "Test 1",
                "email": "admin@admin.com",
                "email_verified_at": null,
                "active": 1,
                "created_at": "2018-10-12 14:17:38",
                "updated_at": "2018-10-12 14:17:38" …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5

7
推荐指数
1
解决办法
2万
查看次数

Laravel 中如何检查用户是否有权访问此功能

我有一个函数可以检查用户是否拥有权限并返回Boolean

问题是

我如何检查每个功能用户是否拥有权限。例如在用户控制器中我有两个功能:

  1. index():显示所有用户
  2. delete($id): 删除单个用户

指数():

public function index () {
    if(Auth::user() -> hasPermissionTo('show all users')) {
        // continue for API
    } else {
        // response with error for API
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道有更好的方法来做到这一点,因为我不想在所有函数中重复这个 if 语句。

我尝试做的事情:

我尝试创建一个辅助函数来检查用户是否具有权限,并在用户没有权限时返回响应错误。并在每个函数中调用它,但它不起作用。

辅助函数代码:

if(!function_exists('userHasPermission')) {
    function userHasPermission ($permission) {
        $main_permission = 'do everything';
        if (!Auth::user() -> hasPermissionTo($main_permission) || !Auth::user() -> hasPermissionTo($permission)) {
            $res = trans('api_responses.authorization_failed');
            return Response::json([
                'message'   =>  $res['message'],
                'code'      =>  $res['code']
            ], $res['code']);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

索引函数调用

public …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5.5

4
推荐指数
1
解决办法
4万
查看次数

关闭应用程序后Vue PWA空白屏幕

我创建了一个 PWA 应用程序,它工作正常。

问题是:

用户在桌面上安装 PWA,它工作正常,但在关闭并重新打开后显示空白页面。

同样在移动设备上,它在将网站添加到主页后显示空白页面。

var deferredPrompt;

关联

https://gogrocery.tk

google-chrome google-chrome-app vue.js progressive-web-apps

2
推荐指数
2
解决办法
2350
查看次数

创建时需要 Laravel 请求验证图像,但更新时不需要

ProductsRequest.php代码:

public function rules()
{
    return [
        'name'          => 'required
                            |min:'.trans('validation_standards.names.min').'
                            |max:'.trans('validation_standards.names.max').'
                            |unique:products,name,'.$this -> product_id,


        'barcode'       => 'size:'.trans('validation_standards.barcode.size').'
                            |unique:products,barcode,'.$this -> product_id,

        'category_id'   => 'required
                            |exists:categories,id',

        'seasons_id'    => 'required
                            |exists:seasons,id',

                           // REQUIRED IMAGE ONLY IN STORE
        'image'         => 'required
                            |image|mimes:'.trans('validation_standards.images.extensions').'
                            |max:'.trans('validation_standards.images.file_size'),

        'description'   => 'nullable
                            |min:'.trans('validation_standards.descriptions.min').'
                            |max:'.trans('validation_standards.descriptions.max'),
    ];
}
Run Code Online (Sandbox Code Playgroud)

这些规则适用于存储和更新方法。

问题是:

我希望图像仅在商店中需要,而在更新中不需要,因为用户只需更新产品基本信息,而无需在每次更新产品时为产品选择新图像。

我尝试过的:

我尝试创建两个不同的ProductsRequest 一个用于存储,另一个用于更新,但我知道这个成就不是最好的成就,因为我的代码必须是 DRY 的。

php laravel laravel-validation

0
推荐指数
1
解决办法
3350
查看次数