User::find($id);
public function devices() {
return $this->belongsToMany('App\Models\Device',
'device_audiences',
'audience_id',
'device_id')->withPivot('amount');
}
$devices = Audience::find($id)->devices;
Route::get('/', 'HomeController@index');
use Auth;
public function index()
{
if(!Auth::check()){
return view('login');
}
return view('index');
}
public function testRun()
{
// Создаем юзера
$user = factory(User::class)->create();
$user->roles()->attach(Role::ID__CUSTOMER);
// предупреждаем Вселенную, что он сейчас будет действовать
$this->actingAs($user);
// этот юзер отправляет форму
$response = $this->json('POST',
route('contact.store'),
['country_id' => Country::ID__RUSSIA,
'city'=>'Vjcrsds',
// любые поля
]);
// Ждем ответа
$response->assertStatus(200);
}
public function payments() {
return $this->hasMany('App\Models\Payment','user_id', 'id');
}
$status = 'CLOSED';
$payments = $user->payments()
->where('status', $status)
->get()
->unique('tariff_id');
public function roles() {
return $this->belongsToMany('App\Models\Role', 'user_roles', 'user_id', 'role_id')
->withPivot('active');
}
public function perms() {
return $this->belongsToMany('App\Models\Perm', 'role_perms', 'role_id', 'perm_id');
}
public function hasPerm($perm_id) {
foreach ($this->roles as $role) {
foreach ($role->perms as $perm) {
if ($perm_id==$perm->id) {
return true; }}}
}
$perms = Perm::get();
foreach ($perms as $perm) {
Gate::define($perm->name, function($user) use($perm) {
return $user->hasPerm($perm->id);
});
}
@can ('CREATE_PROJECT')
<input type="button" value="Создать проект">
@endcan
public function store (ProjectRequest $request) {
//доступ к методу
if (Gate::denies('CREATE_PROJECT')) {
abort(404);
}
}
if($user->hasRole($roleId)){
return $next($request);
}
return redirect('/');
public function hasRole($id) {
return $this->roles->contains('id',$id);
}
$user = User::find($user_id);
$user->roles()->attach(Role::ID__CUSTOMER);
/*
|--------------------------------------------------------------------------
| Телефон
|--------------------------------------------------------------------------
*/
'phone' => 5555555,
/*
|--------------------------------------------------------------------------
| массив данных
|--------------------------------------------------------------------------
*/
'array' => [
'title' => value,
'title2' => value2,
],
$phone = config('company.phone');
$array = config('company.array');
$id = Auth::id();
//К каждой статье добавляем users_count,
//чтобы узнать какие статьи уже добавлены в избранное авторизованного юзера
// и не делать потом запросы к бд в цикле
$posts = Post::with('users')
->withCount(array('users' => function($query) use ($id) {
$query->where('users.id', $id);
}))->get();
{{-- если количество больше нуля, значит статья уже добавлена в избранное --}}
@foreach ($posts as $post)
@if ($post->users_count>0)
Уже добавлено в избранное
@else
Добавить в избранное
@endif
@endforeach
public function users() {
return $this->belongsToMany('App\User', 'posts_user', 'post_id', 'user_id');
}
public function roles() {
return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
}
// Роли авторизованного пользователя
$roles = Auth::user()->roles()->get();
// Роли любого пользователя по id
$id = 5;
$roles = User::find($id)->roles()->get();
// Все юзеры с их ролями и количеством ролей
$users = User::with('roles')
->withCount('roles')
->get();
//роли юзера
@foreach ($roles as $role)
{{ $role->name }}
@endforeach
// Роли у всех юзеров
@foreach ($users as $user)
//количество ролей у юзера
{{$user->roles_count}}
//названия ролей у каждого юзера
@foreach ($user->roles as $role)
{{ $role->name }}
@endforeach
@endforeach
const ID__ADMIN = 17;
// Сделать юзера админом
$user->roles()->attach(Role::ID__ADMIN);
// админы
$admins = Role::find(Role::ID__ADMIN)->users()->get();