Войти через Facebook, используя Sentry в Laravel

Я столкнулся с проблемой, как тот, который опубликовал Вот

Проблема в этом куске кода

$profile = $user->profiles()->save($profile);

что приводит к этой ошибке

Call to undefined method Illuminate\Database\Query\Builder::profiles()

Я пытался сделать то, что было предложено Вот

но это не сработало для меня. Кажется, проблема была решена в предоставленной ссылке, которая больше не работает.

Я написал свой вопрос кратко, так как тот же вопрос был задан пользователем по ссылке, которую я дал. Я буду признателен за любую помощь. Спасибо

2

Решение

Sentry предоставляет собственную модель User. Если вы хотите добавить отношения к пользователю, вам нужно будет расширить модель пользователя Sentry и обновить конфигурацию Sentry, чтобы она указала на вашу новую модель пользователя.

Сначала создайте модель User, которая расширяет модель Sentry User:

<?php
use Cartalyst\Sentry\Users\Eloquent\User as SentryUserModel;

class User extends SentryUserModel
{
public function profiles()
{
return $this->hasMany('Profile');
}
}

Затем обновите конфигурацию Sentry, чтобы она смотрела на вашу модель User вместо модели Sentry User по умолчанию. Для этого опубликуйте файл конфигурации Sentry:

php artisan config:publish cartalyst/sentry

После публикации откройте app/config/packages/cartalyst/sentry/config.php файл. Обновите 'users'.'model' значение для использования вашей новой модели пользователя. Например:

'model' => 'User', // assumes non-namespaced custom User model

Sentry теперь будет использовать вашу пользовательскую модель, созданную выше, с определенными отношениями.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]