Jakhongir
я про поля аутентификации,
Progmer
да да. В laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php есть метод username(). Там email, его переопределяй
Jakhongir
да, username переопределил, все работает
Progmer
а на счет password метод credentials
Jakhongir
но не могу найти как поменять password
Progmer
protected function credentials(Request $request) { return $request->only($this->username(), 'password'); }
Progmer
его переопредели
Progmer
или даже его только и переопределяй protected function credentials(Request $request) { return $request->only('UserMail', 'UserPass'); }
Jakhongir
пробовал там поменять, регистрация работает, логин нет - постоянно возвращает these credentials are not in our records,
Progmer
а поля формы так же у тебя называются?
Progmer
UserMail и UserPass?
Jakhongir
да,
Progmer
Ну в общем у меня плохие телепатические способности)) Дальше надо смотреть)
Jakhongir
все делал по докам с нуля, не много кода, но все равно громоздко будет если сюда скину,
Jakhongir
или норм?
Progmer
давай)
Jakhongir
############## модель User: class User extends Authenticatable { use Notifiable; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'UserPass', 'phonenumber', ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'UserPass', 'remember_token', ]; // public function getAuthPassword() // { // return $this->usePassword; // } } ############## представление форма логина @section('content') <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> @if (!Auth::check()) <a href="{{ url('register') }}"> <button>Registration</button> </a> @endif <div class="panel-heading">Login</div> <div class="panel-body"> <form class="form-horizontal" role="form" method="POST" action="{{ url('login') }}"> {!! csrf_field() !!} <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> <label class="col-md-4 control-label">E-Mail Address</label> <div class="col-md-6"> <input type="email" class="form-control" name="phonenumber" value="{{ old('email') }}"> @if ($errors->has('email')) <span class="help-block"> <strong>{{ $errors->first('email') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> <label class="col-md-4 control-label">Password</label> <div class="col-md-6"> <input type="password" class="form-control" name="UserPass"> @if ($errors->has('password')) <span class="help-block"> <strong>{{ $errors->first('password') }}</strong> </span> @endif </div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-4"> <div class="checkbox"> <label> <input type="checkbox" name="remember"> Remember Me </label> </div> </div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-4"> <button type="submit" class="btn btn-primary"> <i class="fa fa-btn fa-sign-in"></i>Login </button> <a class="btn btn-link" href="{{ url('/password/reset') }}">Forgot Your Password?</a> </div> </div> </form> </div> </div> </div> </div> </div> @endsection Представление форма регистрации @section('content') <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading">Register</div> <div class="panel-body"> <form class="form-horizontal" role="form" method="POST" action="{{ url('register') }}"> {!! csrf_field() !!}
Jakhongir
<div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> <label class="col-md-4 control-label">Name</label> <div class="col-md-6"> <input type="text" class="form-control" name="name" value="{{ old('name') }}"> @if ($errors->has('name')) <span class="help-block"> <strong>{{ $errors->first('name') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> <label class="col-md-4 control-label">E-Mail Address</label> <div class="col-md-6"> <input type="email" class="form-control" name="phonenumber" value="{{ old('email') }}"> @if ($errors->has('email')) <span class="help-block"> <strong>{{ $errors->first('email') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> <label class="col-md-4 control-label">Password</label> <div class="col-md-6"> <input type="password" class="form-control" name="UserPass"> @if ($errors->has('password')) <span class="help-block"> <strong>{{ $errors->first('password') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}"> <label class="col-md-4 control-label">Confirm Password</label> <div class="col-md-6"> <input type="password" class="form-control" name="UserPass_confirmation"> @if ($errors->has('password_confirmation')) <span class="help-block"> <strong>{{ $errors->first('password_confirmation') }}</strong> </span> @endif </div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-4"> <button type="submit" class="btn btn-primary"> <i class="fa fa-btn fa-user"></i>Register </button> </div> </div> </form> </div> </div> </div> </div> </div> @endsection ############## контроллер регистрации class RegisterController extends Controller { /* |------------------------------------------------------------------------— | Register Controller |------------------------------------------------------------------------— | | This controller handles the registration of new users as well as their | validation and creation. By default this controller uses a trait to | provide this functionality without requiring any additional code. | */ use RegistersUsers; /** * Where to redirect users after login / registration. * * @var string */ protected $redirectTo = '/';
Jakhongir
/** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest'); } /** * Get a validator for an incoming registration request. * * @param array $data * @return \Illuminate\Contracts\Validation\Validator */ protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|max:255', 'phonenumber' => 'required|email|max:255|unique:users', 'UserPass' => 'required|min:2|confirmed', ]); } /** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { return User::create([ 'name' => $data['name'], 'phonenumber' => $data['phonenumber'], 'UserPass' => bcrypt($data['UserPass']), ]); } }
Jakhongir
в LoginController не менял ничего
Anonymous
<input type="email" class="form-control" name="phonenumber" value="{{ old('email') }}">
Anonymous
>> <input type="email" class="form-control" name="phonenumber" value="{{ old('email') }}">
Anonymous
>> phonenumber
Anonymous
а поле в модели email
Jakhongir
блин, old('email')
Jakhongir
спасибо, в модели еще есть phonenumber, использую вместо email
Jakhongir
Валидацию не пройдет
phonenumber? почему?
Jakhongir
исправил, на <input type="email" class="form-control" name="phonenumber" value="{{ old('phonenumber') }}">
Jakhongir
также регистрация работает, залогиниться не получается,
Jakhongir
Валидацию не пройдет
userphone - это я пробовал другое имя столбца использовать, вместо email, вообще будет UserMail
Anonymous
эээй
Anonymous
кто удали
Anonymous
л
Anonymous
я не успел добавить себе их
ИТ
Всем привет подскажите как ларавеле 5.3 в шаблоне сделать ссылку на именованый роутер?
ИТ
Использую blade
Anonymous
так же как в 5.1
Andrey
И так-же как в 4.0+
Dmitriy
а я про это 'phonenumber' => 'required|email|max:255|unique:users'
Roman
Когда кидаете код, прошу писать его в следующих кавычках: `
Roman
Например: echo "Hello World";
Dmitriy
`
Евгений
ребят, кто нить делал поиск на ларавеле через algolia?
Progmer
Ты давай сам вопросец мочи))
Евгений
как отдавать в индекс только если у записи is_active = true
Progmer
потом уже ребята и познакомятся с algolia, кто не знаком)
Евгений
https://www.algolia.com/doc/api-client/laravel/options#restrict-indexing-to-a-subset-of-your-data
Progmer
Ну и как говорится "Слова ничего не стоят, покажите код" ))
Евгений
тут вот есть indexOnly(), но не понятно как применять
Евгений
какой ему index_name нужен
Progmer
видимо это для use index
Progmer
аа, это собственно поиск по уже составленному индеку, понятно)
Евгений
по докам судя можно создать своё имя индекса private $index_name = 'contacts_local'; Я не создаю своё имя, то есть у меня автоматом по названию таблицы берется нахвание индекса. Нужно ли мне его прописать в indexOnly('myName') или если оставить пустым то поставится по умолчанию
Евгений
и собственно как внутри indexOnly сделать выборку только is_active
Progmer
может тогда отдельный индекс сделать с is_active?
Евгений
да ну, кажется слишком тупо. Наверняка есть простой способ
Евгений
не одному мне же потребовалось это делать)
Progmer
вполне мб)
Евгений
щас попробую свои догадки применить и посмотрю что выйдет
Евгений
во, крутяк public function indexOnly() { return $this->is_active == 1; }
Евгений
так работает
Евгений
в индекс идут только активные
Progmer
👍
Евгений
при именении статуса у записи индекс автоматически обновляется
Евгений
вопрос: есть организации, сейчас делаю для них нарифы. делаю миграцию создавая таблицу тарифов делаю сидирование заполняя таблицу тарифов делаю миграцию, добавляющую организации столбец с номером тарифа
Евгений
по дефолу тариф выставляется id=1 делая art migrate сначала пройдут все миграции, а потом делать сидирование с заполнением тарифов, тогда будет ошибка, что при заполнении дефолного тарифа такого тарифа еще не создано
Евгений
как делать?
Евгений
понятно что можно делать последовательно, сначала создать и сделать миграцию, потом запустить сидирование и снова миграцию. Но эт всё деплоится на сервак где автоматом запускаются миграции и сидирования, и там уже нельзя делать это пошагово, запустится всё подряд
Progmer
мб создать тогда скрипт деплоя?
Евгений
и там вручную прописать последовательность миграций и сидов?
Евгений
ну как вариант
Progmer
ну да
Progmer
pull art migrate миграция art seed сид art migrate миграция2 art seed сид2
Progmer
я так это примерно понимаю, в принципе норм, чо
Евгений
ну да, для моего случая в принципе подойдет
(;¬_¬)
чатик, есть вопрос 1. можно ли в ларке ловить ошибку 500 и как-то по своему обрабатывать? 2. проблема возникает при частом обращении аяксом к серверу и ругается, что sessions/a276e89146e3079f273c48feaf0b56317a3cd0ad): failed to open stream: No such file or directory
(;¬_¬)
или может можно не юзать сессию для определенного роута?
invariance
да