Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#26 Laravel 5.x » Хранение файов » 13.07.2016 10:08:38

andrei24
Ответов: 15

Всем привет. Стал вопрос где хранить изображения и файлы сайта.
Сам сайт на digitalocean 20 гб, быстро закончатся учитывая что 95% загрузок на сайт это изображения высокого качества, средний размер 1 фото 3-7 мб.
Условия: для начала 100гб hdd с возможностью масштабирования, цена до 20$ месяц.

Сейчас варианты: амазон, idrive, свой сервер. Очень нравится вариант от iDrive 1 тб за 50 у.е. в год, но как я понял прикрутить его не получится: апи нету и фтп нету. Амазон отличный вариант для начала но потом думаю очень цена будет высока. Сервер фтп с большим hdd за такие деньги не возьмешь думаю.
Порекомендуйте, что брать?

#27 Re: Laravel 5.x » Проверка на значение поле в списке выводимых обьектов » 15.06.2016 14:55:15

[quote=AnimalInstinct][quote=hzone]…то что?
заканчивай мысль, а то не понятно что с чем и где ты хочешь делать[/quote]

Например... то echo ’hi’;

По факту буду менять значение самой переменной $offers, то есть сейчас он показывает все offers, но если есть со статусом 2 например, то показывать только его.

а как на уровне БД?[/quote]
$offers = Offer::where(’ticket_id’,’=’,$id)->where(’offer_ststus_id’, 2)->get();

if(!$offers->isEmpty()) {
//action
}

#28 Re: Laravel 5.x » Вызов несуществующего метода » 04.06.2016 13:18:46

[quote=hzone]а) конвертированные значения не в usd показываются или хранятся и показываются?
б) потому что
[code]
SELECT FROM users WHERE username = ’vasya’ --AND password = ’krtbg’
[/code]
намёк не понятен, прекращайте вопросы и делайте, как все.
остальным к намёку придираться не стоит, это аналогия, а не конкретный ответ.[/quote]

Хранятся в USD. Показываются в выбранной в профиле валюте.

То есть юзер выбрал к примеру евро. Добавляет продукт указывает в евро цену (50 euro) → конвертируется и в бд заносится в usd. На выводе снова EUR

#29 Re: Laravel 5.x » Вызов несуществующего метода » 03.06.2016 22:27:54

[quote=hzone]мутирующая модель небезопасна.
без опыта проектирования не советую.[/quote]

Вообщем задача такая: в системе цены хранятся в usd. при регистрации юзер указывает валюту, курсы парсятся каждые 3 часа. Вот если валюта отличная от usd происходит конвертация из usd → выбранная валюта. И почему не безопасно?

#30 Re: Laravel 5.x » Вызов несуществующего метода » 03.06.2016 22:01:29

[quote=hzone][code]
$$value*2
[/code]
но это небезопасно
${$value}*2 как вариант, но тоже не гуд.
читай статьи о геттерах и сеттерах[/quote]

там return совсем другой типа такого:

PHP
public function getValueAttribute($value) {
return 
$this->changeValue($value);
}

То есть значение обрабатывается функцией трейта.
Вообщем то мутаторы по принципу геттеров и работают, но конкретно такую ситуацию решить, что бы изменить свойства модели по значениям массива public $fields = [’val1,’val2’,val3’] как то не выходит реализовать.

#31 Laravel 5.x » Вызов несуществующего метода » 02.06.2016 23:59:24

andrei24
Ответов: 7

Всем привет. К примеру есть файл модели Model.php в нем определим свойство $fields и подключим трейт TrModel;
В трейте вызывается мутатор
[code]
class Model
{
use TrModel;

public $fields = [’val1,’val2’,val3’];

}

trait TrModel
{
public function getValueAttribute($value) {
return $value * 2;
}
}
[/code]
Сейчас меняется только свойство value. Можно ли сделать что бы после подключения TrModel, в модели прописал $fileds в нем поля которые нужно менять и они поменялись. Нужно в многих моделях поменять разные столбцы

#32 Re: Laravel 5.x » Обработка очереди » 20.05.2016 21:23:08

Это просто wtf. Неделю я искал в чем проблема. Разобрал на части пол сайта, не помогало. В итоге сегодня пришел к такому: в шаблоне header.blade удалил кусок обычного html кода и перестало дублировать. Это просто не объяснимо, как этот кусочек html мог вообще повлиять??

Код удалил:

<ul class="dropdown-menu dropdown-alerts">
                    <li>
                        <div class="dropdown-messages-box">
                            <a href="#" class="pull-left">
                                <img alt="image" class="img-circle" src="#">
                            </a>
                            <div>
                                <small class="pull-right">46h ago</small>
                                <strong>Mike Loreipsum</strong> started following <strong>Monica Smith</strong>. <br>
                                <small class="text-muted">3 days ago at 7:58 pm - 10.06.2014</small>
                            </div>
                        </div>
                    </li>
                    <li class="divider"></li>
                    <li>
                        <div class="dropdown-messages-box">
                            <a href="#" class="pull-left">
                                <img alt="image" class="img-circle" src="#">
                            </a>
                            <div>
                                <small class="pull-right text-success">5h ago</small>
                                <strong>Chris Johnatan Overtunk</strong> started following <strong>Monica Smith</strong>. <br>
                                <small class="text-muted">Yesterday 1:21 pm - 11.06.2014</small>
                            </div>
                        </div>
                    </li>
                    <li class="divider"></li>
                    <li>
                        <div class="dropdown-messages-box">
                            <a href="#" class="pull-left">
                                <img alt="image" class="img-circle" src="#">
                            </a>
                            <div>
                                <small class="pull-right">23h ago</small>
                                <strong>Monica Smith</strong> love <strong>Kim Smith</strong>. <br>
                                <small class="text-muted">2 days ago at 2:30 am - 11.06.2014</small>
                            </div>
                        </div>
                    </li>
                    <li class="divider"></li>
                    <li>
                        <div class="text-center link-block">
                            <a href="#">
                                <i class="fa fa-envelope"></i> <strong>Read All Messages</strong>
                            </a>
                        </div>
                    </li>
                </ul>

#33 Re: Laravel 5.x » Где размещать файлы библиотек и фреймворков? » 19.05.2016 09:57:07

[quote=torsar]Я кину jquery в папку public.
А юзать буду в представлениях
(папка recources/views).
Можно просто подключить jquery.min.js?
Увидит?
Дело в том, что laravel находиться не в корне, а в подпапке,
на несколько уровней вниз.
Как тут быть.
Не хотелось бы писать, типа:
../../public/js/jquery.min.js

Как тут быть, что посоветуете?[/quote]

<script src="{{ asset('jquery.min.js') }}"></script>

#34 Re: Laravel 5.x » Валидация данных » 17.05.2016 18:14:56

TrueKanonir пишет:
stuchin пишет:
TrueKanonir пишет:

А как быть, когда стоит правило

 
'title' => 'required|min:3|unique:posts'

И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?

А он есть?, зайди в программу управления базой и посмотри, есть такой заголовок или нет, а потом уже думай что дальше делать.

Дык я редактирую пост который уже в базе.
Допустим есть пост "тестовый пост", я его редактирую,изменяю дату публикации или теги,но title не трогую (title должен остаться таким же), сохраняю изменения,и валидатор ругается на то,что пост с таким тайтлом есть в базе. Как от этого избавиться?

https://laravel.ru/docs/v5/validation#unique

'email' => 'unique:users,email_address,'.$user->id

#35 Laravel 5.x » Обработка очереди » 13.05.2016 21:57:13

andrei24
Ответов: 2

Всем привет.
Проблема уже второй день не решается.

В контроллере вызывается событие:

public function index() {
event(new MailEvent(’test’));
}

class MailEvent extends Event implements ShouldBroadcast
{
public $name;

public function __construct($name)
{
$this->name = $name;
}
}

class MailListen implements ShouldQueue {
Mail::send(’mail.test’, [], function ($message) {
$message->to(’mail@yandex.ru’)->subject(’ok’);
});
}

открываю страницу которую обрабатывает контроллер и вызывается event.

В итоге на почту мне приходит два письма, а не одно. И в бд в jobs дублируются записи…

Подвал раздела