Oleksandr
Route::post('post/{id}, ..)
public function ($id, Request $request)
$post = Post::findOrFail($id)
Сказали, что вместо последней функции использовать Model bilding
Не совсем понимаю почему, но все-же, как это реализовать?
SarcasmIO
SarcasmIO
потому что твой wildcard != имени модели, вообще в текущем контексте требование достаточно глуповато
SarcasmIO
замени {id} на {post}
SarcasmIO
разве что, тогда Eloqeunt отработает как должно
Oleksandr
я заменял {id} на {post}, в форме Action {{ route('updatePost', $post) }}
в функции параметр $post, дебажу $post - выдает его id
SarcasmIO
Alex
В роутере
Alex
Не в форме
Oleksandr
Oleksandr
В роутере
я и так и так пробывал, результат один
SarcasmIO
мне лень разбираться, честно
SarcasmIO
Route model bindings работает когда у тебя имя твоего плейсхолдера в параметрах роута === имени проперти которую ты ожидаешь в контроллере
в документации все более чем описано
SarcasmIO
ты просто видимо перезаписываешь его где-то либо прокидываешь неправильно
Oleksandr
Я сделал, все работает, спасибо
Но все-же, смысла в этом не сильно вижу
SarcasmIO
я сразу сказал, что требование так себе
SarcasmIO
явное лучше неявного
Grigorii
Всем привет! Ищем на постоянку Full-stack разработчиков разного уровня со знанием laravel. Вилка 30-100к. Удаленка
SarcasmIO
Anonymous
Всем привет, подскажите кто в курсе, установил себе laravel-zero для уведомлений, и не могу запустить планировщик задач, вроде настроил как в документации, а всё равно не работает, фото прилагаю
Anonymous
Anonymous
Dmitry
Алексей
Ребят, тут есть очень опытные спецы? Не могу никак понять, откуда такой огромный расход памяти у сидера :(
Arthur'); DROP TABLE Users;--
Алексей
Он великоват.
Andrey
Алексей
Даже если вместо реальных запросов подставит "SELECT 1", ничего не меняется.
Arthur'); DROP TABLE Users;--
Он великоват.
Хорошо, вангую. Выключи дебагер!
Алексей
Выключить?
Andrey
Алексей
Он строчек на 100. Если хотите, могу забросить.
Arthur'); DROP TABLE Users;--
Выключить?
На локалке работаешь?
Алексей
Вагрант.
Arthur'); DROP TABLE Users;--
значит окружение dev, могут быть лишние пакеты у тебя
Arthur'); DROP TABLE Users;--
запусти на prod, поймешь куда копать
Алексей
Прода пока нету. Проект в самом начале разработки.
Arthur'); DROP TABLE Users;--
DB::disableQueryLog(); ?
Алексей
Проблема в том ещё, что если запустить его на тестовом сервере или на боксе моего компьютера, работает верно. Если на на том же самом боксе, но уже на 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
Алексей
Да.
Алексей
Ещё кое-что.
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 вопрос, подскажите какой-то хороший оптимизатор картинок?
Dmitriy
казалось бы причем тут вообще storage если проблема в настройке сервера