Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
тоже столкнулся с этим..
https://gitter.im/LaravelRUS/chat/archives/2018/05/11
а решается вот так
https://laracasts.com/discuss/channels/ … -timed-out
и на карйняк может потребоваться больше места. в vagrantfile делаем вот так
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
vb.memory = "2048"
end
(!! кстати. установку проекта нужно делать после того как синхронизируете дирректории, как я написал ниже. иначе после успешной установке синхронизация затрет все, что было на то что валялось в папке подключаемой)
затем exit, затем vagrant reload --provision заходим обратно vagrant ssh, затем в папку с проектом аля Code , если нет, то создаем, даем права, если надо группу тоже vagrant и устанавливаем по второй ссылке снова у меня получилось)
с композером примерно так же до этого пришлось повозиться то группу дай, то перетащи чтоб команда заработала.. чето вилы какието под виндой поднимать это дело
п.с. а еще вам папку с проектом синхронизировать в этом же конфиге надо будет типа так же
https://toster.ru/q/175737 только они там балбесы, нужно виндовые слешы обратные использовать
вот так C:/sites/test/www/
DB::transaction(function () {
DB::table('users')->update(['votes' => 1]);
DB::table('posts')->delete();
}, 5);
ну или бегин энд
DB::beginTransaction();
DB::commit();
для моей задачи хватило обернуть в транзакцию. странно, что никто из вас не упомянул об этом
-------------------------------------
если нужно заблочить кнопку, то в форму дописываем
<form ... onsubmit="return this.savebutton.disabled=true;">
и кнопка
<input type="submit" value="Сохранить" class="btn btn-success" name="savebutton"/>
и огонь до конца сабмита, кнопарь залочен.
Projects твоя модель. в ней же можно смотреть какую таблицу юзаешь.
protected $table = 'proj'; например..
вместо ->get(); посмотри запрос ->toSql(); что возвращает
только передается в шаблон коллекция моделей, а не модель.
{!! $variable !!}
мож кто знает, можно ли в отношения подключить реквест? а именно, хотел бы сделать механизм поиска по результату отношений..
public function likedClocks(){
return $this->belongsToMany(Clock::class, 'likes', 'user_id', 'clock_id');
}
Пагинация отношений, если кому надо:
public function getOptionsPaginatedAttribute()
{
return $this->likedClocks()->paginate(10);
}
а вызов вот такой!!
->options_paginated;
источник: https://stackoverrun.com/ru/q/6993429/l … 1%8F%D1%85
Решение)
в юзере отношение
public function likedClocks(){
return $this->belongsToMany(Clock::class, 'likes', 'user_id', 'clock_id');
}
и далее уже юзаем
$tt = User::all()->where('id','=', Auth::user()->id);
foreach ($tt as $clo) {
dd($clo->likedClocks);
}
Доброго времени суток!
Вывожу инфу по табличке "Часы". и на месте этого же вывода, по кнопке, хочу отображать только те часы, что были отмечены "В избрандное".
Проблема в следующем:
Если использую просто выборку часов
$clocks_list = clock::select(DB::raw('id, brand, name, type, price'));
то все ок. можно получить коллекцию моделей и юзать методы из модели..
а если вот так:
$likes = DB::table('clocks')->Join('likes', 'clocks.id', '=', 'likes.clock_id')->where('user_id', '=', Auth::user()->id);
то полуачю уже Builder и цикл с использованием методов из модели уже не работает. т.к. вместо модели там массив
{#1290 ▼
+"id": 62
+"brand": "NoName"
+"name": "234"
+"price": 234
+"text": "234"
+"comment": "234"
+"type": "Мужские"
+"status": 0
+"created_at": "2018-06-27 10:41:31"
+"updated_at": "2018-06-27 10:41:31"
+"user_id": 1
+"clock_id": 91
}
и весь код перелопачивать и все равно возникают с этим связанные проблемы.. Можно ли както получить сразу нормальную коллекцию только избранного товара текущего пользователя ?
может чем поможет.. https://laravel.ru/forum/viewtopic.php?pid=16609#p16609
https://laravel.ru/forum/viewtopic.php?pid=13862#p13862 там сотня уроков в первом моем посте. все оч доступно. первая треть - проговаривается документация. уроки были платными, теперь бесплатно.
AJAX пагинация в Laravel-5. Динамическая подгрузка контента (результатов поиска по сайту).
https://klisl.com/laravel_ajax_search.html
работает, проверил лично.
и там же другие полезности по ларавелю https://klisl.com/category/laravel
П.С. для тех, кому надо не в диве прокручивать, а саму страницу, то делаем так
// При обновлении страницы начинать с самого верха.
$(window).scrollTop(0);
.......
$(window).scroll(function () {
if (( $(window).scrollTop() == $(document).height() - $(window).height() ) && !inProgress && count <= countPage) {
.......
и стили не нужны
как вариант, можно тупо дописать в метод контроллера нужную модель и юзать без конструктора..
public function test(Request $request, Clock $clock, $id, false, блаблабла){
return $clock->method($request);
}
Большое спасибо за наводку! очень полезно
Собственно, есть ли какие нибудь примеры? (вообще любые. от теории - как тут лучше будет жить, до кусков кода. мне все будет полезно)
Сделал submit страницу, где есть фильтры по товару и кнопарь "найти". результат вывожу в таблицу по 10 записей и могу пагинировать.
можно ли сделать фильтрацию без submit, чтоб выбрал из селект-листа значение и тут же произошел поиск. ввел цену, отщелкнул и произошел поиск. и т.д. + можно ли будет потом эти результаты пагинировать? или тут колхоз и танцы с бубном предстоят?
просто это все потом будет усложняться и как дальше этим рулить (возможно или нет) будет, я плохо представляю. но работодатель сказал, хочу без перезагрузки юзать фильтры и видеть результат. Мои вопросы, наверно, глупые, но я проектов еще не делал. просьба понять и простить)
$img_info = getimagesize(public_path() . '/' . $clock->url);
Бинго!) большое спасибо!
нет, не помогло. в паблике всей папке images (и самой папке) рекурсивно дал 777
Сайт имеет домен, если вдруг это может както подсказать кому че.. там http://test.sitename.ru
Всем привет!
Хочу после загрузки изображений открывать товар на редактирование и видеть фотки в миниатюрах заданных размерах. для этого хочу их пропорционально уменьшить используя функцию для вычисления размеров getimagesize().
собственно получаю вот такую ошибку
ErrorException (E_WARNING)
getimagesize(http://test.ru/images/clock/ID_16_2018.05.08_08.24.30_5271_7.jpg): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
вот код:
foreach ($clocks_list as $clock) {
$img_info = getimagesize(Config::APP_URL.'/'.$clock->url);
$res = $this->getSizeByFramework($img_info[0], $img_info[1]);
$clock->width_img = $res['width'];
$clock->height_img = $res['height'];
}
из документации:
Если доступ к файлу filename невозможен, getimagesize() вызовет ошибку уровня E_WARNING.
тобеш мой случай.
По какой причине он не может получить доступ к изображению? если вбиваю урлу в адресную строку, то начинается скачивание изображения.. фотки загружаются, отображаются все норм. в чем может быть дело? если закомментирую этот цикл, то выводится фотка в оригинальном размере.. на локальной машине - работает. на сервер залил, не работает...
да, редактируется. спасибо. 5 минут - сказал образно, если быть точным, то по таймингам создания и запрета уже на редактирование было ровно 10. не 15 мин.
https://www.youtube.com/channel/UC3n8EP … mXjbpGdmIA
Ajax фильтрация данных и другие полезности. свежий канал
Корпоративный сайт Пинк Рио из сотки видосов:
Нашел проект на гитхабе из этих видосов. но там весрия совсем низкая. поднимать его, да и другие (их тоже смотрел), не стоит, но чтоб много не набирать по видосам, можно скопировать от сюда https://github.com/ScarIetSky/Pink-Rio. так же можно погуглить на гитхабе пинк-рио и найти еще чужие проекты с так же набранным кодом, но у когото, заметил, больше, у когото меньше... но всяко помощь.
и как? удалось?
ээммм, создать в папке Requests файл ArticleRequest.php и в нем переопределить / добавить че хотите.
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class ArticleRequest extends FormRequest
{
бла бла
}
и дальше уже юзать
public function store(ArticleRequest $request)
{
$result = $this->a_rep->storeArticle($request); // Метод сохранит инфу о новом создаваемом материале.
if ($result) {
return redirect('admin/moder')->with(Session::flash('status', 'Материал добавлен!'));
} else {
return back();
}
}
или я не правильно понял?
сам починил)
порт сменил с 80 на 3306 и
SELECT user, host FROM mysql.user
показало что хост должен быть localhost
DB_HOST=localhost
и Админ, удали лишнюю ветку) был двойной клик "отправить"
В общем проблема распространенная, судя по гуглу, но своего найти не удается.
пишет:
SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `portfolios` limit 5)
конфиг файлы:
.env
DB_CONNECTION=mysql
DB_HOST=174.17.10.55
DB_PORT=80
DB_DATABASE=test_db
DB_USERNAME=test_db
DB_PASSWORD=pswd
database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
создал пользователя, права дал, если зайти
mysql -u test_db -p test_db
то в списке бд моя присутствует. переключаюсь, делаю селект из ошибки - данные выводятся.
сайт на страницу аутентификации заходит, но как только касается дело страницы где обращение к бд - то фиг вам.
в чем может быть дело?