@laravel_pro

Страница 153 из 2014
Jakhongir
06.11.2016
11:27:06
https://laracasts.com/discuss/channels/general-discussion/log-in-with-username-or-email-in-laravel-5
здесь как использовать в качестве логина почту или имя, в зависимости от того что ввел пользователь, и вроде для laravel 5.0, в 5.3 многие классы изменили

Виктор
06.11.2016
11:30:41
в vendor/laravel/framework/src/Illuminate/Auth/GenericUser.php есть метод getAuthIdentifierName(), который возвращает имя поля. Переопределить его можно. На каком-то проекте я уже делал подобное

а, ты про поля авторизации, а я про идентификацию))

Jakhongir
06.11.2016
11:38:41
у меня нужно использовать столбцы UserMail и UserPass для аутентификации,

Google
Jakhongir
06.11.2016
11:39:39
я про поля аутентификации,

Виктор
06.11.2016
11:39:59
да да. В laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php есть метод username(). Там email, его переопределяй

Jakhongir
06.11.2016
11:40:37
да, username переопределил, все работает

Виктор
06.11.2016
11:40:42
а на счет password метод credentials

Jakhongir
06.11.2016
11:41:09
но не могу найти как поменять password

Виктор
06.11.2016
11:41:39
protected function credentials(Request $request) { return $request->only($this->username(), 'password'); }

его переопредели

или даже его только и переопределяй protected function credentials(Request $request) { return $request->only('UserMail', 'UserPass'); }

Jakhongir
06.11.2016
11:43:01
пробовал там поменять, регистрация работает, логин нет - постоянно возвращает these credentials are not in our records,

Виктор
06.11.2016
11:44:10
а поля формы так же у тебя называются?

UserMail и UserPass?

Jakhongir
06.11.2016
11:44:37
да,

Виктор
06.11.2016
11:49:22
Ну в общем у меня плохие телепатические способности)) Дальше надо смотреть)

Google
Jakhongir
06.11.2016
12:06:24
все делал по докам с нуля, не много кода, но все равно громоздко будет если сюда скину,

или норм?

Виктор
06.11.2016
12:06:45
давай)

Jakhongir
06.11.2016
12:10:52
############## модель 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() !!}

<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 = '/';

/** * 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']), ]); } }

в LoginController не менял ничего

B?N
06.11.2016
12:18:53
<input type="email" class="form-control" name="phonenumber" value="{{ old('email') }}">

>> <input type="email" class="form-control" name="phonenumber" value="{{ old('email') }}">

>> phonenumber

а поле в модели email

Jakhongir
06.11.2016
12:19:39
блин, old('email')

спасибо, в модели еще есть phonenumber, использую вместо email

Jakhongir
06.11.2016
12:22:32
Валидацию не пройдет
phonenumber? почему?

исправил, на <input type="email" class="form-control" name="phonenumber" value="{{ old('phonenumber') }}">

также регистрация работает, залогиниться не получается,

Валидацию не пройдет
userphone - это я пробовал другое имя столбца использовать, вместо email, вообще будет UserMail

B?N
06.11.2016
16:26:14
эээй

кто удали

Google
B?N
06.11.2016
16:26:18
л

я не успел добавить себе их

YOda
06.11.2016
17:37:39
Всем привет подскажите как ларавеле 5.3 в шаблоне сделать ссылку на именованый роутер?

Использую blade

D'
06.11.2016
17:38:15
так же как в 5.1

Quiss
06.11.2016
17:41:29
И так-же как в 4.0+

Dmitriy
06.11.2016
22:32:05
а я про это 'phonenumber' => 'required|email|max:255|unique:users'

YOda
07.11.2016
01:55:00
Roman
07.11.2016
03:18:36
Когда кидаете код, прошу писать его в следующих кавычках: `

Например: echo "Hello World";

Golib
07.11.2016
03:35:21
Например: echo "Hello World";
как вы это делаете ???

Dmitriy
07.11.2016
03:35:46
`

Golib
07.11.2016
03:35:54
tesstt

понятно

Admin
ERROR: S client not available

Golib
07.11.2016
03:36:15
`
спасибо

Laravel public function index()

Евгений
07.11.2016
06:22:27
ребят, кто нить делал поиск на ларавеле через algolia?

Google
Виктор
07.11.2016
06:25:00
Ты давай сам вопросец мочи))

Евгений
07.11.2016
06:25:32
как отдавать в индекс только если у записи is_active = true

Виктор
07.11.2016
06:25:47
потом уже ребята и познакомятся с algolia, кто не знаком)

Евгений
07.11.2016
06:26:25
https://www.algolia.com/doc/api-client/laravel/options#restrict-indexing-to-a-subset-of-your-data

Виктор
07.11.2016
06:26:35
Ну и как говорится "Слова ничего не стоят, покажите код" ))

Евгений
07.11.2016
06:27:04
тут вот есть indexOnly(), но не понятно как применять

какой ему index_name нужен

Виктор
07.11.2016
06:28:09
видимо это для use index

аа, это собственно поиск по уже составленному индеку, понятно)

Евгений
07.11.2016
06:30:10
по докам судя можно создать своё имя индекса private $index_name = 'contacts_local'; Я не создаю своё имя, то есть у меня автоматом по названию таблицы берется нахвание индекса. Нужно ли мне его прописать в indexOnly('myName') или если оставить пустым то поставится по умолчанию

и собственно как внутри indexOnly сделать выборку только is_active

Виктор
07.11.2016
06:31:03
может тогда отдельный индекс сделать с is_active?

Евгений
07.11.2016
06:31:42
да ну, кажется слишком тупо. Наверняка есть простой способ

не одному мне же потребовалось это делать)

Виктор
07.11.2016
06:32:02
вполне мб)

Евгений
07.11.2016
06:32:22
щас попробую свои догадки применить и посмотрю что выйдет

во, крутяк public function indexOnly() { return $this->is_active == 1; }

так работает

в индекс идут только активные

Виктор
07.11.2016
06:34:34
?

Google
Евгений
07.11.2016
06:34:37
при именении статуса у записи индекс автоматически обновляется

вопрос: есть организации, сейчас делаю для них нарифы. делаю миграцию создавая таблицу тарифов делаю сидирование заполняя таблицу тарифов делаю миграцию, добавляющую организации столбец с номером тарифа

Страница 153 из 2014