Laravel по-русски

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

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

#1 Re: Laravel 5.x » разработка с помощью с использованием Homestead » 16.03.2018 13:21:42

Фигня, не выходит с Homestead Как один и тот-же образ развернуть на другой машине?! Я не могу понять ?!

#2 Re: Laravel 5.x » разработка с помощью с использованием Homestead » 16.03.2018 11:55:52

Ну что всегда надо делать в конце дня бекап базы, что бы на других компьютерах можно было работать?!

Миграция понятно, но данные могут меняться в базе. Мне не хочется следить за актуальностью.
С web файлами все понятно, папку в Dropbox  и там все само синхронизируется, а вот с базой вопрос.

Сейчас пробую на двух все же завести через синхронизацию образа в Dropbox

#3 Laravel 5.x » разработка с помощью с использованием Homestead » 16.03.2018 10:46:48

macik
Ответов: 3

Доброго времени суток, Всем!

Есть у меня вопрос, решил я тут использовать Homestead для работы с Laravel.
До этого я работал с сервером и выходит что без интернета у меня стоит работа.
У меня 3 рабочие машины. Надо, что бы на них были одинаковые данные, начиная с php файлов заканчивая mysql базой.
Я пытаюсь это решить с помощью Dropbox, засунул туда весь образ Virtualbox. Но на второй машине столкнулся с проблемой, и за смены директорий размещения Homestead.

Как правильно наладить разработку одного проекта на нескольких машинах не прибегая к внешнему WEB-серверу?

#4 Re: Laravel 5.x » Поиск по дате в базе. » 02.03.2018 13:16:09

$UserNames = DB::select("SELECT * FROM `user_names` WHERE CONCAT( YEAR( NOW( ) ) , '-', DATE_FORMAT( `birthday` , '%m-%d %T')) BETWEEN DATE_SUB( NOW( ) , INTERVAL 5 DAY ) AND DATE_ADD( NOW( ) , INTERVAL 5 DAY )");

Ок.Сырой запрос работает.
А как можно его переделать в запрос с использованием метода и в слите Laravel?

#5 Re: Laravel 5.x » Поиск по дате в базе. » 02.03.2018 13:13:25

Получилось! Убрал экранирование и все заработало.

#6 Re: Laravel 5.x » Поиск по дате в базе. » 02.03.2018 13:06:09

Я не могу понять. вроде делаю как надо

$UserNames =  DB::select('SELECT * FROM `user_names` WHERE CONCAT( YEAR( NOW( ) ) , \'-\', DATE_FORMAT( `birthday` , \'%m-%d %T\' ) ) BETWEEN DATE_SUB( NOW( ) , INTERVAL 5 DAY ) AND DATE_ADD( NOW( ) , INTERVAL 5 DAY )');

Данных нет и все. Беру из dd() выдачи SQL запрос вставляю в phpmyadmin и все находит как надо?!

Что я делаю не так?

#7 Re: Laravel 5.x » Поиск по дате в базе. » 02.03.2018 10:50:24

нет выборки. ;(

А как правильно прикрутить чистый SQL запрос в ларке? У меня не получается сделать запрос

SELECT * FROM `user_names` WHERE CONCAT( YEAR( NOW( ) ) , \'-\', DATE_FORMAT( `birthday` , \'%m-%d %T\' ) ) BETWEEN DATE_SUB( NOW( ) , INTERVAL 5 DAY ) AND DATE_ADD( NOW( ) , INTERVAL 5 DAY )

Это запрос работает на все 100%, но у меня не получается его правель прикрутить к своей модели ?!

#8 Re: Laravel 5.x » Поиск по дате в базе. » 02.03.2018 00:08:32

Carbon::today()->subDays(5)

я думаю что это не правильно.  Результат этого кода будет дата на пять дней назад. Но главное что это будет полная дата. С годом, месяцем и временем.

date: 2018-02-24 00:00:00.0 UTC (+00:00)
}

Это не есть правильно. Выборку дней рождений надо сделать игнорируя год ...

#9 Re: Laravel 5.x » Поиск по дате в базе. » 01.03.2018 23:19:56

Ну я так и сделал. Не работает, выборки нет

$UserNames = $objUserNames::whereMonth('birthday', '>',  Carbon::today()->subDays(5))
                    ->whereDay('birthday', '>',  Carbon::today()->subDays(5))
                    ->whereMonth('birthday', '<',  Carbon::today()->addDays(5))
                    ->whereDay('birthday', '<',  Carbon::today()->addDays(5))
                    ->get();
        dd($UserNames);

#10 Re: Laravel 5.x » Поиск по дате в базе. » 01.03.2018 23:14:38

Не надо менять код. Каждый вызов subDays(5) меняет переменную.

если не менять то вот : Call to undefined function App\Http\Controllers\today()!

#11 Re: Laravel 5.x » Поиск по дате в базе. » 01.03.2018 22:49:29

Я поменял слегка.

        $objUserNames  = new User_name();
        $date = Carbon::today();

        $UserNames = User_name::whereMonth('birthday', '>', $date->subDays(5))
                        ->whereDay('birthday', '>', $date->subDays(5))
                        ->whereMonth('birthday', '<', $date->addDays(5))
                        ->whereDay('birthday', '<', $date->addDays(5))
                        ->get();

Но выборки нет.
а по чистому запросу в sql есть

SELECT * FROM `user_names` WHERE CONCAT( YEAR( NOW( ) ) , '-', DATE_FORMAT( `birthday` , '%m-%d %T' ) ) BETWEEN DATE_SUB( NOW( ) , INTERVAL 5 DAY ) AND DATE_ADD( NOW( ) , INTERVAL 5 DAY )

Можете подсказать где я ошибся?

#12 Laravel 5.x » Поиск по дате в базе. » 01.03.2018 19:14:27

macik
Ответов: 23

Привет, Всем.

как в поле timestamp найти определены промежуток но при этом игнорировать год.
надо выбрать сотрудников у которых день рождение было пять дней назад и пять дней вперед.

#13 Re: Laravel 5.x » Form::date как задать дату? » 21.02.2018 19:16:58

Нашел, все просто как всегда.

Form::date('birthday', \Carbon\Carbon::createFromDate('2010', '10', '1'));

PS
я все больше и больше люблю Laravel .... Это монстр ... wink

#14 Laravel 5.x » Form::date как задать дату? » 21.02.2018 17:07:46

macik
Ответов: 1
Form::date('birthday', \Carbon\Carbon::now());

как задать value я что то не могу найти в Doc  к laravel 5 sad

#16 Re: Laravel 5.x » makeDirectory() » 19.02.2018 18:22:53

полный доступ ... я пробовал и 775

#17 Re: Laravel 5.x » makeDirectory() » 19.02.2018 17:43:55

Странно. Убрал все атрибуты к makeDirectory и терь все работает как хотел.

File::makeDirectory($dir);

Можете пояснить что не так?!

#18 Re: Laravel 5.x » makeDirectory() » 19.02.2018 17:35:50

Блин теперь создаю папку все ок. Но она вообще без атрибутов. Не могу записать в нее. Хотя вроде при созданий задаю права ...

File::makeDirectory($dir, "0777", true, true);

#19 Re: Laravel 5.x » makeDirectory() » 19.02.2018 15:50:12

Нашел причину. Путь надо указывать полный. Я указывал относительно сайта, а надо относительной всей системы!

#20 Re: Laravel 5.x » makeDirectory() » 19.02.2018 15:18:04

chmod меняет права папки-файла

Блин, я на форуме не правильно написал. Постоянно путаю ... Но на сервере сделал так как надо ...
Скрин ТУТ

#21 Re: Laravel 5.x » makeDirectory() » 19.02.2018 09:59:48

Ну сам назначил права chown -R 777

#22 Laravel 5.x » makeDirectory() » 18.02.2018 23:48:13

macik
Ответов: 12

Привет, Всем.

Подскажите у меня тут при попытке создать папку с помощью makeDirectory() Laravel ругается на "mkdir(): Permission denied" К папке в каторгой я пытаюсь создать папку права 777 но папку не создает. В интернете я нашел ответ, но он мне не нравится. Там пишут, что к всему проекту надо дать права 777. Как то это не правильно!?

Или я что то не понимаю в ядре laravel?

#23 Re: Laravel 5.x » Модели и отношения. » 08.02.2018 16:08:19

ОК, я понял свою ошибку.
Правильно не переопределять ... Я просто еще не дошел до надобности использовать какие-то дополнительные данные из массива.

#24 Re: Laravel 5.x » Модели и отношения. » 08.02.2018 13:29:38

И еще один вопрос. Что бы получить название фирмы мне надо обратится

$userNames->firm->name; 

Правильно ли будет если сделать так?

$userNames->firm = $userNames->firm->name;

или это с точки зрения laravel не логично и не правильно?

#25 Re: Laravel 5.x » Модели и отношения. » 08.02.2018 13:22:09

Ну теперь это явно облегчает работу. А то я намудрил "букв", а толку мало. big_smile

Спасибо!

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