Oleksandr
Route::post('post/{id}, ..) public function ($id, Request $request) $post = Post::findOrFail($id) Сказали, что вместо последней функции использовать Model bilding Не совсем понимаю почему, но все-же, как это реализовать?
Oleksandr
передавать модель в параметры
я передаю, на выходе в контроллере айдиха выходит)
SarcasmIO
потому что твой wildcard != имени модели, вообще в текущем контексте требование достаточно глуповато
SarcasmIO
замени {id} на {post}
SarcasmIO
разве что, тогда Eloqeunt отработает как должно
Oleksandr
я заменял {id} на {post}, в форме Action {{ route('updatePost', $post) }} в функции параметр $post, дебажу $post - выдает его id
Alex
В роутере
Alex
Не в форме
Oleksandr
{{ route('updatePost', $post->id) }}
все-равно айдиху кидает
Oleksandr
В роутере
я и так и так пробывал, результат один
SarcasmIO
мне лень разбираться, честно
SarcasmIO
Route model bindings работает когда у тебя имя твоего плейсхолдера в параметрах роута === имени проперти которую ты ожидаешь в контроллере в документации все более чем описано
SarcasmIO
ты просто видимо перезаписываешь его где-то либо прокидываешь неправильно
Oleksandr
Я сделал, все работает, спасибо Но все-же, смысла в этом не сильно вижу
SarcasmIO
я сразу сказал, что требование так себе
SarcasmIO
явное лучше неявного
Grigorii
Всем привет! Ищем на постоянку Full-stack разработчиков разного уровня со знанием laravel. Вилка 30-100к. Удаленка
Anonymous
Всем привет, подскажите кто в курсе, установил себе laravel-zero для уведомлений, и не могу запустить планировщик задач, вроде настроил как в документации, а всё равно не работает, фото прилагаю
Anonymous
Anonymous
Алексей
Ребят, тут есть очень опытные спецы? Не могу никак понять, откуда такой огромный расход памяти у сидера :(
Алексей
Он великоват.
Алексей
Даже если вместо реальных запросов подставит "SELECT 1", ничего не меняется.
Andrey
Он великоват.
https://pastebin.com/
Arthur'); DROP TABLE Users;--
Он великоват.
Хорошо, вангую. Выключи дебагер!
Алексей
Выключить?
Алексей
Он строчек на 100. Если хотите, могу забросить.
Arthur'); DROP TABLE Users;--
Выключить?
На локалке работаешь?
Алексей
Вагрант.
Arthur'); DROP TABLE Users;--
значит окружение dev, могут быть лишние пакеты у тебя
Arthur'); DROP TABLE Users;--
запусти на prod, поймешь куда копать
Алексей
Прода пока нету. Проект в самом начале разработки.
Arthur'); DROP TABLE Users;--
DB::disableQueryLog(); ?
Arthur'); DROP TABLE Users;--
Он строчек на 100. Если хотите, могу забросить.
конечно хотим, так же как и ты хочешь проблему поскорее решить
Алексей
Проблема в том ещё, что если запустить его на тестовом сервере или на боксе моего компьютера, работает верно. Если на на том же самом боксе, но уже на Linux Mint - РНР-процесс очень быстро растет в размерах, а потом аварийно завершается из-за нехватки памяти в боксе.
Алексей
<?php use Illuminate\Database\Seeder; class ProductSeeder extends Seeder { / * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException */ public function run() { $json = File::get("database/data/data.json"); $products = json_decode($json, true); unset($json); $temporaryFile = tmpfile(); $temporaryFileName = stream_get_meta_data($temporaryFile); $temporaryFilePath = $temporaryFileName["uri"]; foreach ($products as $key => $product) { $articleNumber = $product["article_number"]; if (empty($articleNumber)) { continue; } $imageURL = $product["image_url"]; if ($imageURL) { fwrite($temporaryFile, $imageURL . "\n"); } $wholesalerName = $product["brand"]; $wholesaler = App\Http\Models\Wholesaler::firstOrCreate(["name" => $wholesalerName]); $brandName = (string)$product["collection"]; $brand = App\Http\Models\Brand::firstOrCreate(["name" => $brandName]); / @var \App\Http\Models\Product $productInstance */ $productInstance = App\Http\Models\Product::firstOrCreate([ "wholesaler_id" => $wholesaler->id, "article_number" => $articleNumber ], [ "name" => $product["name"], "description" => $product["description"], "articles_per_box" => (int)$product["articles_per_box"], "burning_time" => $product["burning_time"], "brand_id" => $brand->id ]); App\Http\Models\ProductAsset::firstOrCreate([ "product_id" => $productInstance->id ], [ "type" => "image", "code" => basename($imageURL) ]); $effectColors = $product["effect_colors"]; if (gettype($effectColors) === "array") { foreach ($effectColors as $effectColor) { /** @var \App\Http\Models\EffectColor $productEffectColor */ $productEffectColor = App\Http\Models\EffectColor::firstOrCreate(["color" => $effectColor]); $productInstance->effectColors()->attach($productEffectColor->id); } } $effectTypes = $product["effect_types"]; if (gettype($effectTypes) === "array") { foreach ($effectTypes as $effectType) { $productEffectType = App\Http\Models\EffectType::firstOrCreate(["type" => $effectType]); $productInstance->effectTypes()->attach($productEffectType->id); } } unset($products[$key]); } echo "Downloading images..." . PHP_EOL; exec("aria2c —max-connection-per-server=16 —max-concurrent-downloads=100 —dir=public/uploads -i " . $temporaryFilePath); unlink($temporaryFilePath); } }
Andrey
<?php use Illuminate\Database\Seeder; class ProductSeeder extends Seeder { / * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException */ public function run() { $json = File::get("database/data/data.json"); $products = json_decode($json, true); unset($json); $temporaryFile = tmpfile(); $temporaryFileName = stream_get_meta_data($temporaryFile); $temporaryFilePath = $temporaryFileName["uri"]; foreach ($products as $key => $product) { $articleNumber = $product["article_number"]; if (empty($articleNumber)) { continue; } $imageURL = $product["image_url"]; if ($imageURL) { fwrite($temporaryFile, $imageURL . "\n"); } $wholesalerName = $product["brand"]; $wholesaler = App\Http\Models\Wholesaler::firstOrCreate(["name" => $wholesalerName]); $brandName = (string)$product["collection"]; $brand = App\Http\Models\Brand::firstOrCreate(["name" => $brandName]); / @var \App\Http\Models\Product $productInstance */ $productInstance = App\Http\Models\Product::firstOrCreate([ "wholesaler_id" => $wholesaler->id, "article_number" => $articleNumber ], [ "name" => $product["name"], "description" => $product["description"], "articles_per_box" => (int)$product["articles_per_box"], "burning_time" => $product["burning_time"], "brand_id" => $brand->id ]); App\Http\Models\ProductAsset::firstOrCreate([ "product_id" => $productInstance->id ], [ "type" => "image", "code" => basename($imageURL) ]); $effectColors = $product["effect_colors"]; if (gettype($effectColors) === "array") { foreach ($effectColors as $effectColor) { /** @var \App\Http\Models\EffectColor $productEffectColor */ $productEffectColor = App\Http\Models\EffectColor::firstOrCreate(["color" => $effectColor]); $productInstance->effectColors()->attach($productEffectColor->id); } } $effectTypes = $product["effect_types"]; if (gettype($effectTypes) === "array") { foreach ($effectTypes as $effectType) { $productEffectType = App\Http\Models\EffectType::firstOrCreate(["type" => $effectType]); $productInstance->effectTypes()->attach($productEffectType->id); } } unset($products[$key]); } echo "Downloading images..." . PHP_EOL; exec("aria2c —max-connection-per-server=16 —max-concurrent-downloads=100 —dir=public/uploads -i " . $temporaryFilePath); unlink($temporaryFilePath); } }
https://pastebin.com/
Алексей
https://pastebin.com/eK2x33ga
Алексей
Это примитивный временный сидер, чтобы хоть чем-то заполнить базу.
Алексей
Дело, думаю, не в нем, а в самом РНР, что ли. Даже если переписать всё это через, например, PDO, ничего не изменится.
Алексей
Да.
Алексей
Ещё кое-что.
Dmitry
Посмотри на каком участке это происходит. Может из-за того что файл не закрываешь...
Алексей
Логи Постгреса показывают, что DEALLOCATE выполняется _после_ того, как выполняет все запросы.
Dmitry
В любом случае он пишет строку где ошибка произошла
Алексей
Может ли быть такое, что РНР кеширует все эти подготовленные выражения, расходуя тем самым память?
Dmitry
Строку посмотри на которой ошибка происходит
Dmitry
У меня вопрос. Вот есть выборка Model::paginate(10) А потом при выводе я обращаюсь к связи $item->dataRelation()->name Значит ли это дополнительный запрос на каждом выведенном элементе? Так как при Model::paginate(10) нет данных с связуемой таблицы. А после они каким - то магическим методом там оказываются.
Dmitry
всем привет)
Oleh
Да
Oleh
Используй eager loading
Dmitry
Жесть. Я просто установил вот этот пакет https://github.com/dimsav/laravel-translatable И думаю каким образом мне указать в with обращение к этим данным. Чтобы в выборке были как данные с основной таблицы так и с таблицы локализации.
Dmitry
аааа все, нашел.
Dmitry
простите.
Oleh
Может кто сталкивался? laravel mix, имеется шаблон, собирается все в папку assets. После чего создается симлинк на эту папку в public, каким образом реализовать fontPublishPath что бы они корректно формировались?
Oleh
`` mix.js('resources/js/app.js', 'js') .sass('resources/sass/app.scss', 'css') .copyDirectory('resources/sass/dashboard/partials/images','assets/images') .options({ fileLoaderDirs: { fonts: 'assets/backend' } }); mix.setPublicPath('assets') ; ``
Oleh
Вот такой мой webpack.mix.js выглядит на данный момент. Но проблема в том, что при сборке все шрифты отправляются в assets/assets/backend/vendor/....
Oleh
Мне нужно что бы vendor создавался в корне директории assets, но к ссылкам были добавлены "/assets/backend"
Anton
Как мне у модели при ->with('course.class.users') получить поле users а не course в который вложен class в который вложены users?
Andrey
Подскажите, если кто знает. Есть сертификат .p12 В операционке его устанавливаю в связку ключей. С тех пор как он установлен могу зайти в лк определенного сайта. Вопрос, как спарсить гузлом данные из этого лк? Можно как-то гузлу скормить такого типа сертификат?
Artem
Можете ли одновременно авторизоваться через passport и сессии? Нужно чтобы получить доступ к админке(уже не spa) если ты авторизован на сайте(spa) как админ
Alex
Привет
Alex
Ребят как полностю убать public из url? site.ru/public что б редиректило без public, так же и к другм страница site.ru/public/tovar_1
SarcasmIO
настроить вебсервер правильно
Alex
можешь подсказать конфигурацию htaccess?
SarcasmIO
документация может
SarcasmIO
https://laravel.com/docs/5.6/installation#web-server-configuration
Alex
если я прописываю public после site.ru/ всеравно отображается
Alex
сайт доступен по 2 урлам
Alex
и еще 1 вопрос, подскажите какой-то хороший оптимизатор картинок?
Alex
если я прописываю public после site.ru/ всеравно отображается
symlink со storage на public, у них даже встроенная команда есть, php artisan storage:link https://laravel.com/docs/5.6/filesystem
Dmitriy
казалось бы причем тут вообще storage если проблема в настройке сервера