Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
спасибо!
Есть кстати три хорошие книги, их Вы можете найти если не в продаже , то в интернете в электронном виде .
1.Кристиан Дари
2.Ларри Ульман
3.Laravel Полное руководство
Первые две книги не по Laravel , но там неплохо описана логика , и в частности рассматриваются базы данных. Ну , а третья книга я думаю Вам будет полезна при работе с Laravel.
кто считает что всю инфу надо в одной табличке держать - кто считает, что нужно разделять инфо по несколько таблиц итп.
Для того , чтобы не слушать кто и что считает почитайте хоть немного о реляционных базах данных и о правилах нормализации. Я Вам уже сказал , что это целая наука . Но это уже никак не относится к форуму по Laravel . Если Вам интерессно , загляните на форум sql.ru , там есть подфорумы и по базам данных MySQL , SQL Server ,PostgreSQL ,Oracle и так далее , а так же там Вы найдете подфорум Проектирование БД . Удачи в Вашем нелеХком труде.
В полне возможно, но - речь то о - в том числе контролёров - смотрите выше. Вы не бойтесь а аргументируйте пожалуйста.
Ну в принципе Вам уже ответили , и я еще раз повторяю . В контроллерах Вы пишете свои функции на языке PHP . Это имеется ввиду для Laravel. А запрос к базе даных осуществляется при помощи языка SQL . И скорость запроса зависит от сложности запросов , количества join , вложенных подзапросов , наличия индексов в таблицах, количество одновременно подключенных юзеров и так далее . И еще раз повторюсь , правильно спроэктированная база , это как минимум 50% успеха, так как проэктирование баз данных , это целая наука .
, контраЛеры разные - ето всё в ноль?
Боюсь , что у Вас не совсем верное представление о контроллерах, и запросах к базам данных .
У них немного разное назначение .
Извините , лично мне кажется , что скорость выборки из базы данных зависит скорее всего не от возможностей Laravel ,
а от того , как правильно спроэктирована и нормализована база данных. Как то так наверное.
Извините. Но мне не интересно Ваше мнение . Поставил еще 2 плюсика за троллинг . И еще раз удачи. За сим разрешите откланяться.
Если Вы здесь на форуме не для оказания помощи, а для набивания постов и плюсиков . То я Вам за Вашу пустую болтовню поставил плюсики. Удачи .
Ставит composer . Какую установил, такая и используется . Еще раз спасибо , за то что откликнились и помогли.
Вам видать просто поговорить не о чем ? Возьмите , и установите любую новую версию . Без разницы какую и попробуйте установить Captcha . А вот грубить пожалуйста в другом месте.
Чувак из прошлого , возьми установи, а потом посмотри версию . И если есть , что ответить по делу , то пожалуйста . А этот сарказм совсем ни к чему . Спасибо.
Так уже вышла https://laravel-news.com/laravel7 ))
Не устанавливается Captcha на версии 7.1.3 и 7.2 .
Никто не пробовал решить эту проблему? Спасибо.
$pdf->save(storage_path('pdf/ ' . $order->order_number . '.pdf'));
Тему закрываем , проблема была в этой строке кода из за пробела после слэша.
Привет всем . Перелопатил весь интернет и Help . Но никак не пойму в чем проблема , я никак не могу удалить файл из папки при помощи фасада Storage . И так по порядку .
Файл config
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('pdf'),
],
Загрузка и сохранение файла
$pdf = PDF::loadView('emails.email_pdf', ['order'=>$order,'order_details'=>$order_details,'customer'=>$customer]);
$pdf->save(storage_path('pdf/ ' . $order->order_number . '.pdf'));
Удаление файла , но файл не удаляется !!!!!!!
Storage::disk('local')->delete($order->order_number . '.pdf');
Проверка наличия файлов в папке
print_r(Storage::disk('local')->files());
При проверке наличия файлов в папке файл не удаляется , хотя файлы в папку регулярно добавляются и выдает массив
Array ( [0] => 20200316-165744-1.pdf [1] => 20200316-165801-1.pdf
[2] => 20200316-170335-1.pdf [3] => 20200316-170533-1.pdf
[4] => 20200316-170626-1.pdf [5] => 20200316-170646-1.pdf
[6] => 20200316-171354-1.pdf [7] => 20200316-172200-1.pdf )
Тогда я никак не могу понять , почему не удаляются файлы , а постоянно добавляются .?????
Весь код такой
$pdf->save(public_path('pdf / ' . $order->order_number . '.pdf'));
$pdf->save(storage_path('pdf/ ' . $order->order_number . '.pdf'));
Mail::send(
'emails.email',['order'=>$order,'order_details'=>$order_details,'customer'=>$customer],
function($message) use ($order, $pdf)
{
$message->from('info@apsaugajums.lt');
$message->to($order->email,$order)->subject('Užsakymo Nr.: ' . $order->order_number);
$message->attach(public_path('pdf / ' . $order->order_number . '.pdf'));
}
);
Storage::disk('local')->delete($order->order_number . '.pdf');
print_r(Storage::disk('local')->files());
Никаких ошибок при этом не возникает . Нашел в Help про права доступа , не помогло .
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'permissions' => [
'file' => [
'public' => 0664,
'private' => 0600,
],
'dir' => [
'public' => 0775,
'private' => 0700,
],
],
],
Прошу помощи , в чем моя ошибка??? Заранее спасибо.
А как принято на index.php направлять? Может дело в моем .htaccess?Вот так у меня
Вот файл .htaccess в корневой папке
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
А вот в папке public(это стандартный файл, и я его не менял)
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Все равно спасибо за попытку помочь
Запускаете сайт , жмете F12 , и смотрите какой путь к стилям прописан в браузере , а затем думаете .
P.S Сам сайт запускается нормально ? Только стилей не видит?
Хотя есть еще одно, в базе 1,6 млн записей ))) Может ее стоит экспортировать в MySQL? Но тут тоже, нормального ПО так и не смог найти )
При таком обьеме записей , Вам стоит подумать о SQL Server или MySQL , к тому же у Access , как Вы знаете есть ограничения файла mdb до 2Gb .
P.S Это я так подключался к mdb файлу , ради спортивного интереса.
Господа, с какой версией работает этот пакет?
С какой версией Access или с какой версией Laravel . Laravel на тот момент была версии начиная от 5.2 до 5.6 , PHP версия 7.2 вроде бы , а Access база была в формате mdb 2000-2002 . Все работает отлично .
В конструкторе контроллера нельзя работать с куками и вообще с запросом. Жизненный цикл Laravel таков, что в момент создания конроллера объект request ещё не готов, т.к. мидлвары ещё не отработали. В частности кука может быть ещё не раскодирована (они ведь в Laravel encrypted by default)
Спасибо. Вы оказались правы
Вот Request в конструкторе
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54 ▼
#parameters: array:3 [▼
"cart_id" => "eyJpdiI6ImhseGdpOTV1cEZnbjhhQWphR2NudkE9PSIsInZhbHVlIjoiMFVtS0twUyt3aGRyT0E0NnU5MzBjT29kekM1bDhcL1VTOHJoMXVsdUJscVZRNkp6UmIxd2RPV0VmWTg5VVdkWHIiLCJtYWMiOiJhMTEw ▶"
"XSRF-TOKEN" => "eyJpdiI6IjhUdGYzQ1lUZjcybDBrT085aTZ4THc9PSIsInZhbHVlIjoiaUtNM0pvSWg3SXFEd3I3UTZBOXh5T0dMbkxBeklCYVBpSVMxcEpjbzRXcXB0VHdsR2xMZFN4dm1abUx4akM3YyIsIm1hYyI6IjI4ZmQ2 ▶"
"laravel_session" => "eyJpdiI6IlVBZEVhYXBSNlk2dVRBNG9zc1wvRGp3PT0iLCJ2YWx1ZSI6ImlOaCt6RXJLRkR0aWhOYW9seHR3U0N1RDdjT1FYR3lCTWlFTllxdWthMDJ0NithTFZPMjZoUHBldGZUWHNmVUsiLCJtYWMiOiI4ZjM1 ▶"
]
А это уже в функции
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54 ▼
#parameters: array:3 [▼
"cart_id" => "gx3j6x2eCwXPABSIFtUazZbp9CWG5QWQQlGBqguD"
"XSRF-TOKEN" => "8N50DZkBXfOCIavcShoXhvJOEdGz4JpFjH9DTOtQ"
"laravel_session" => "8hglWR7klDzkUcNS4yXmqYOlfZ2GFNO0IrVLX9he"
]
}
Добрый день Возник вопрос по конструкторам в контроллере . Ситуация такая . Файл куки показывает разные значения например в конструкторе , и в функции в контроллере . Вот такой код , и результат ниже. Т.е , код одинаковый , а результаты dump() или echo неважно , разные . В чем моя ошибка , спасибо.
Вопрос 2 - Как выложить фотo в форум ? Через тэги IMG у меня не получилось. Файл лежит в диске C:\ папка Pictures
Код конструктора
protected $cart_id;
public function __construct(){
if(Cookie::get('cart_id')){
$this->cart_id=Cookie::get('cart_id');
dump(Cookie::get('cart_id'));
}
elseif(session()->has('cart_id')){
$this->cart_id = session('cart_id');
}
else{
return redirect()->route('home');
}
}
Код функции
if(Cookie::get('cart_id')){
$cart_id=Cookie::get('cart_id');
dump(Cookie::get('cart_id'));
}
elseif(session()->has('cart_id')){
$cart_id = session('cart_id');
}
else{
return redirect()->route('home');
}
А вот результат dump
Конструктора
"eyJpdiI6ImltdktYMmFaU2pvdDRBMW5uUWY4dmc9PSIsInZhbHVlIjoiYkdKQWMwR0k0cDFVal
MwVmhGallOTFZLMTBUREFwajAyWFFuUlNGTVVqQ0hrVUV6R2ZBMFFVTzhCVWl2bUN6UCIsIm1hYyI6ImRhYWJiMjg1Yjgx
NGRmYTgwOTM3Y2IzMTMxOGZlZmZkZGJjZmEyMTY4ZDlmMjYzZGE0YTFiMmIwODFhM2JmY2IifQ== ◀"
Функции
"m4jtj3DLTSrkmqf6dwRKySio4eliRg9hOfIo9BoZ"
С простым WHERE куда больше шансов, что он заработает в PostgresSQL или в SQLite.
Коротко и ясно .Спасибо за ответ.
Во-первых, почему ты используешь left join здесь?
Огромнейшее спасибо за Ваш отклик , но вопрос был скорее не по джойнам . Просто как то решил перестраховываться и использовать конкретное соединение left или right .
Что касается моего вопроса , то я уже написал выше по поводу создания views на сервере . Посмотрел Ваше предложение . Теперь возник другой вопрос , а что использовать лучше , мой метод с views или Ваш метод. Имеется конечно ввиду с точки безопасности и скорости выполнения.
P.S Замечание по поводу inner join занес в копилочку , буду иметь ввиду.
Ну так "сырые выражения" же https://laravel.ru/docs/v5/queries#%D1% … 1%8B%D0%B5
Спасибо за ответ . я это уже читал , поэтому и спрашивал , не криво ли это , и использует ли кто нибудь это в своих программах.
Я например сделал немного по-другому . Создал на сервере MySQL views сделал там необходимый мне запрос и из laravel обратился к views как к таблице.
Всем привет , требуется помощь в виде небольшой консультации.
Имеется корзина покупателя . Мне необхоимо на сайте отразить количество товара в корзине , а также их общую стоимость . В таблице корзина покупателя имеется только поле количество . Цену товара я беру из таблицы продукты . Вот здесь и столкнулся с небольшой проблемой . Сумму количества получаю таким образом.
$view->with('shopping_cart',Shoppingcart::where('cart_id',$cart_id)->sum('quantity'));
Но для того , чтобы получить сумму количества и их общую стоимость , мне нужно джойнить таблицу продукты . И вот тут начались извращения.
Чисто в Laravel мне сделать не получилось . Сделал запрос в MySQL . Вот текст запроса.
SELECT SUM(shoppingcarts.quantity) as sum_quantity ,
SUM(shoppingcarts.quantity*products.price) as sum_total
FROM shoppingcarts
LEFT JOIN products
ON shoppingcarts.product_id=products.id
WHERE cart_id='8EVyZSpqPV2ikZPVpUW5idMsih6stBupp04x5xtg';
Теперь собственно вопрос . Кто и как делает ? Или мне создавать хранимую процедуру и в Laravel обращаться непосредсвенно к ней , или все таки есть способ это сделать в Laravel средствами Eloquent ORM ?
Надеюсь на адекватные и содержательные советы. Всем заранее спасибо .
Причину так и не установил. Подозрение на текстовый редактор CodeLobsterPHP Editor . Но там тоже была по умолчанию установлена кодировка UTF8 . Снес нафинг XAMPP , CodeLobster , Composer . Заново скачал и установил последние версии XAMPP и Composer , а также установил demo CodeLobster IDE . Заново создал проэкт . Формы из старого проэкта не копировал , а создавал с 0 . Пока все работает. Всем спасибо за помощь. Windows 10 если чО. ))