Как правильно использовать составные ключи в качестве первичного ключа в Laravel с пакетом ролей и разрешений Spatie?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как правильно использовать составные ключи в качестве первичного ключа в Laravel с пакетом ролей и разрешений Spatie?

Сообщение Anonymous »

Мне нужно использовать адрес электронной почты и номер телефона в качестве первичного ключа для модели пользователя в моем приложении Laravel. Поскольку Laravel изначально не поддерживает составные первичные ключи, я нашел обходной путь для его реализации. Однако я сталкиваюсь с проблемами во взаимоотношениях, особенно при использовании пакета ролей и разрешений Spatie. В частности, я получаю ошибку «Преобразование массива в строку». Также возникла проблема со вспомогательной функцией auth()->user(), которая возвращает неожиданный результат.
Вот моя настройка:
Модель пользователя :
namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
use Illuminate\Database\Eloquent\Builder;

class User extends Authenticatable
{
use HasRoles;

public $incrementing = false;
protected $keyType = 'string';
protected $primaryKey = ['email', 'phone_number'];

protected $fillable = ['email', 'phone_number', 'name', 'password'];
}

Проблема:
При доступе к таким связям, как $user->роли, я сталкиваюсь со следующей ошибкой:
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'where clause' (SQL: select * from `users` where (`0` = email and `1` = phone_number) and `users`.`deleted_at` is null limit 1)


Подробнее здесь: https://stackoverflow.com/questions/786 ... spatie-rol
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»