Laravel по-русски
Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Добрый день.
Есть табличка Post в которой есть поля id, category_id и project_id
posts
-id
..
..
..
-category_id
-project_id
Есть Catagory
categories
-id
..
..
..
Есть Project
projects
-id
..
..
..
App\Post
public function category(){
return $this->belongsTo('App\Category');
}
public function project(){
return $this->belongsTo('App\Project');
}
А вот как теперь в модели Project мне получить список категорий через модель Post?
например через Has Many Through
public function categories($project_slug)
{
$pr = $this->whereSlug($project_slug)->first();
return $pr->hasManyThrough(
'App\Category','App\Post',
'category_id', 'id')->get();
}
какие воощбе есть варианты решения задачи?
Заранее спасибо
странно... меньше года назад когда joomla использовал был(и есть) компонент для экспорта в ВК.
Надо API внимательнее посмотреть
Добрый день!
Необходим доступ к vk api ... Что то не нашел пакета.
Буду благодарен если подскажете.
Доступ к api необходим чтобы экспортировать записи с сайта в паблик\группу
Спасибо!
Спасибо! Буду разбираться
Всем привет.
Хочу реализовать авторизацию через соц сети.
В документации есть пример реализации с помощью socialite,но к сожалению(как я понял авторизацию через вк не поддерживает)
Что мне нужно - мне нужна авторизация через VK Facebook Google и Twitter
Поиск пакета не привел к результату тк пакетов oauth2 полно а примеров нет...
Буду рад примеру, совету... Вообщем любой помощи
Спасибо
Спасибо, о middleware что то сразу и не подумал
а как указать id того кого мне надо logout!
дело в том что при нарушении правил сайта я баню пользователя(записывая ban = 1 в таблицу)
и уже в следующий раз когда полльзователь предпримет попытку входа на сайт я делаю Auth::logout(); в моммент авторизации...
то есть пользователь не может авторизоваться что мне и нужно....
однако проблема в том что даже если я запишу ban в таблицу то пользователь остается авторизованным на сайте и может продолжать нарушать правила итд итп....
то есть задача - человека нужно забанить - я записываю в таблицу ban = 1 и делаю logout() этого пользователя
как сделать что то наподобие Auth::logout($userid); ?
Хочу реализовать возможность бана пользователей...
В случае бана необходимо разлогинить определенного пользователя принудительно...
Ткните пальцем пожалуйста как это сделать, а то что то пока не нашел решения(Auth::logout() я так понимаю разлогинит текущего пользоваьтеля)
если мне память не изменяет то в laravel 5 - remember() из eloquent model выпилили теперь кеширование через Cache::remember(); делается
все еще не нашел решения... прошу помощи
к сожалению это и было сделано чтобы хранить указатели на пользователей...
1) что бы знать лайкнул запись пользователь или нет
2) выводить текущий список пользователей кому понравилось запись
3) и в профиле пользователя выводить все записи на которых пользователь поставил лайк...
рад был бы иначе реализовать... но иного решения не нашел...
Да согласен уже сейчас такие подходы ставят на колени сайт, но кеширование пока спасает
Всем привет...
Прошу помощи.
Хочу сделать вывод материалов где больше всего лайков
Лайки реализованы как отношение многие ко многим - один лайк один пользователь
есть таблица blogs где все записи и users где хранятся пользователи и blog_user pivot таблица
хочу вывести записи где больше всего лайков(пользователей)
Зарранее спасибо
Members::deleteuser(Auth::user()->id)
в моделе Members.php
public function deleteuser($userid){
Members::whereUserId($userid)->delete();
}
Route::get('aktualności', ['as'=>'ponews', 'uses'=>'NewsController@getNews']);
Route::group(['prefix' => 'en'], function() {
//все руты относяoиеся к en
Route::get('news', ['as'=>'ennews', 'uses'=>'NewsController@getNews']);
});
и выйдет
site.com/aktualności
site.com/en/news
как то так
честно не понимаю за чем оно надо(перенос всех контроллеров в другую папку)? чем Http\Controllers не устроил?
но если я логику верно понял то необходимо перенести контроллеры в другую папку или папки...
как сделал я - у меня есть сам сайт и его контроллеры лежат в Http\Controllers
однако есть и админка и для нее я сделал отдельную папку Http\Controllers\AdminControllers
так выглядит routes.php для админ
Route::get('/admin', ['uses' => 'AdminControllers\AdminController@index']);
что бы контроллер работал надо изменить namespace в самом контроллере(например в том же AdminController.php)
<?php namespace App\Http\Controllers\AdminControllers;
то есть для всех контроллеров в папке Http\Controllers\AdminControllers прописать <?php namespace App\Http\Controllers\AdminControllers;
более ничего не нужно править ни каких сервис провайдеров
Вообщем разобрался с проблемой
foreach ((array) $input['photo-items'] as $photoid)
$rules['photo-'.$photoid] = 'integer|exists:photo,id';
так работает
вообщем нужно провалидировать массив элементов
то есть мне приходит массив с id-ками фотографий и задача проверить существуют ли записи в БД с такими id
из документации я так понял что есть
'email' => 'exists:staff,email,account_id,1'
сделал по образу и подобию однако если подсунуть id несуществующего элемента валидация успешно проходит а вот на этапе сохранения происходит ошибка(что и понятно)
foreach ((array) $input['photo-items'] as $photoid)
$rules['photo-'.$photoid] = 'integer|exists:photo,id,'.$photoid;
в чем подвох?
спасибо)
Проблему решил если кому понадобиться то
$page = (int) \Input::get('page', 1);
if ($page == 0 or $page == null) $page = 1;
и если мы находимся на первой странице то передаем во вьюху showslider со значение 1 или true
if ($page == 1) $showslider = true;
не решил проблемы...
да контроллер главной страницы есть однако как мне определить что пользователь на 2-й и последующих страницах
проблема в том даже если я во вьюху передаю параметр need-slider, то при разбивке paginate(15) например - пользватель на главной странице переходит на 2ю страницу и слайдер продолжает показываться
Всем добрый день.
Хочу на главной странице сделать что то наподобие виджета-слайдера.
Проблема в том что я хочу чтобы он показывался только на главной странице и не показывался на любых других страницах
Отчасти я решил проблему -
function is_mainpage()
{
$segments = explode('/', Request::path());
foreach ($segments as $segment) {
if ($segment == '') return true;
}
return false;
}
однако слайдер показывается и при пагинации на последующих страницах (?page=2 и тд), чего я не хочу
как мне определить что пользователь на главной странице сайте а не на какой другой
Спасибо - реверс работает)) то что нужно!