小编apo*_*fos的帖子

对相同类型的Func使用三元运算符需要进行转换

我有这个问题:

Func<string,string> transformer = isRTF ? ToRTF : ToHTML;

private string ToRTF(string value) {
    //Convert to RTF 
    return value;        
}
private string ToHTML(string value) {
    //Convert to HTML
    return value;    
}
Run Code Online (Sandbox Code Playgroud)

但是我收到此错误:

错误42无法确定条件表达式的类型,因为"方法组"和"方法组"之间没有隐式转换

但是,如果我这样做:

Func<string, string> transformer = isRTF ? (Func<string, string>) ToRTF : (Func<string, string>) ToHTML;
Run Code Online (Sandbox Code Playgroud)

它没有问题,ReSharper开始抱怨演员表是多余的.

有谁知道为什么会这样?

c# casting ternary-operator

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

为角色授予多个权限 - Spatie

我们如何一次为一个角色分配多个权限?

    $permission1 = Permission::create(['name' => 'Create Client']);
    $permission2 = Permission::create(['name' => 'View Invoice']);
    $permission3 = Permission::create(['name' => 'Add Product']);

    $role = Role::findById(1);

    $role->givePermissionTo($permission1);
Run Code Online (Sandbox Code Playgroud)

在上面,我只授予第一个权限。

由于这也是通过实现的, $role->syncPermissions($permissions); 我很困惑 $permission 如何包含多个权限?

请问有什么建议吗?

laravel laravel-permission

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

如何在 laravel spatie 中更新/编辑 custom_properties?

我在我的应用程序中使用 laravel spatie。我有个问题。当用户更新他的图像列表时。管理员必须批准用户刚刚更新的图像列表。如果用户添加图像,我只需添加更多。但是当用户改变自己拥有的图像时,该怎么办呢?我无法更改 collection_name,因为如果我更改,该图像不会出现在用户个人资料中。你对我有什么理想吗?我有一个理想:我在 custom_properties 列中添加一个 value {'change' => 'false'}。当用户更改此图像时,我会将 custom_properties 更改为{'change' => 'true'}. 当管理员批准更改时,我必须将 custom_properties 更新为{'change' => 'false'}. 但我无法访问 custom_properties 列的值。(如您所知,laravel spatie 为我们提供了一个媒体表,它有一个列 custom_properties,其中包含 json 数据)。所以请帮助我访问此专栏并更新其中的数据。

很抱歉,因为我的英语不好。

    $mediaOld = Media::where(['model_id' => $doctor_id, 'collection_name' => 'doctor_achieved'])->get();
    if (isset($mediaOld[$index])) {
        $mediaOld[$index]->update(['custom_properties->change' => 'true']);
        $mediaOld[$index]->save(); // Its not working 
        return $mediaOld[$index]->custom_properties; 
    }
Run Code Online (Sandbox Code Playgroud)

这是该记录的数据响应 这是该记录的数据响应

php laravel laravel-medialibrary

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

spatie/laravel-medialibrary 更改主键

我正在使用包spatie/laravel-medialibrary,我想更改其名为 Media 的模式上的 PrimaryKey,而不编辑包 src 文件。

在我的项目中,我使用 uuid 作为所有模型的主键,因此自然地,我想对此包提供的 Media.php 模型执行相同的操作。

我已经更改了迁移以反映这一点,通过删除该行$table->bigInteger('id')并将其更改$table->uuid('uuid')->nullable();table->uuid('uuid')->unique()->primary();

但是,现在我还想让模型知道我正在使用不同的密钥,通过设置protected $primaryKey = 'uuid';protected $keyType = 'string';但我找不到在 Media.php 模型的包 src 文件之外执行此操作的方法

基本上,我最终想要做的只是实现 HasMedia 接口并在我的 Profile 模型上使用 InteractsWithMedia 特征,如下所示:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;

class Profile extends Model implements HasMedia
{
    use InteractsWithMedia;
}
Run Code Online (Sandbox Code Playgroud)

关于如何实现这一目标有什么建议吗?

谢谢。

php uuid primary-key laravel laravel-medialibrary

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

如何更改 spatie 媒体库中的图像目录?

我对这个包很陌生,因为我通常使用图像干预。所以问题是每当我保存图像时,它都会保存在存储目录中而不是公共目录中。我尝试查看文档并做了一些研究,但没有看到任何答案。请参阅下面我的代码进行保存。

$user->addMediaFromRequest('avatar')->toMediaCollection('avatars');
Run Code Online (Sandbox Code Playgroud)

包裹:

https://spatie.be/docs/laravel-medialibrary/v7/introduction

laravel laravel-medialibrary

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

Laravel spatie/laravel-permission @can 指令

我目前正在使用 Spatie 角色和权限库。我有多个警卫,分别是管理员和网络。我的管理员有权使用 Guard_name = admin 来“管理身份验证”。当我尝试运行下面的语法时,它返回 true。

current_user()->hasPermissionTo('manage authentication', 'admin')
Run Code Online (Sandbox Code Playgroud)

但是当我使用 @can 指令时,span 标签不会出现。

@can('manage authentication')
<span>Hello</span>
@endcan
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但跨度标签仍然没有出现。

@can('manage authentication', 'admin')
<span>Hello</span>
@endcan
Run Code Online (Sandbox Code Playgroud)

我做错了吗?

更新:我的用户模型中没有任何角色/权限相关的属性和功能

laravel laravel-permission

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

Laravel 项目多租户、多数据库和一个域

您好,您能帮我将项目 laravel Multi-tenant 与 Multi-database 一起放置吗:

我想创建用户数据库,例如在我的系统中有两个用户A和B。我有一个主数据库和两个数据库user_a(用于用户A)和user_b(用于用户B)。在主数据库中,我拥有所有用户信息。现在我想要的是,当用户A登录系统时,它访问user_a数据库,而当用户B登录数据库时,连接应该是user_b数据库。

multi-tenant laravel breeze multi-database-connections laravel-8

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

打印中断引导程序布局

我有以下页面:

<html>
<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
</head>
<body>
  <div class="container">
      <div class="row">
          <div class="col-xs-12 col-sm-6">
              <p>Column 1,1 in small row 1 in xs</p>
          </div>
          <div class="col-xs-12 col-sm-6">
              <p>Column 1,2 in small row 2 in xs</p>
          </div>
          <div class="col-xs-12 col-sm-6">
              <p>Column 2,1 in small row 3 in xs</p>
          </div>
          <div class="col-xs-12 col-sm-6">
              <p>Column 2,2 in small row 4 in xs</p>
          </div>
      </div>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在查看时,此页面按预期显示(即,在小屏幕上有2列和2行,在移动设备上有2行),但是问题出在尝试打印时。

当我在Chrome中执行CTRL + P时,会得到以下预览:

在此处输入图片说明

页面大小设置为A4。在Firefox中不会发生此问题(但在IE和Edge中也会发生)

任何想法如何获取打印视图以呈现小(或中)布局而不是移动视图?

css printing google-chrome twitter-bootstrap-3

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

如何使用 laravel spatie 包检查 if 语句中的多个权限条件?

我需要检查 if 语句中的条件以获得多个权限。它使用 laravel 的 spatie 包。我使用下面的代码,但它似乎不起作用。可以显示输出,但输出不正确。它不会过滤条件。

if (auth()->user()->can('View Consultant') || auth()->user()('View Administration') 
|| auth()->user()('View Accountant') || auth()->user()('All departments')) 
 {

        $itemregistrations = DB::table('itemregistrations')
                             ->where('categoryid','=', '1',',','2',',','3')
                             ->get();

        return view('profil.index', compact('itemregistrations'));

 } 
Run Code Online (Sandbox Code Playgroud)

代码是否正确?

条件是有权限的用户(查看顾问、查看行政、查看会计、所有部门)可以查看所有部门的顾问、行政、会计列表。

有权限的用户(仅查看顾问)只能查看顾问列表。

if-statement laravel-5 laravel-permission

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

如何在 spatie/laravel-permission 中使用 UUID

我用作ramsey/uuid所有项目表的主键。如何禁用自动增量并允许rolespermissions键可填充?我已经设法在其他桌子上做到这一点,但我坚持使用这两个。

php laravel eloquent laravel-5 laravel-permission

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