• Как с помощью Carbon в laravel получить начало и конец предыдущего месяца?

    @MasterCopipaster Автор вопроса
    все сам допер
    $start = new Carbon('first day of last month');
            $end = new Carbon('last day of last month');

    Но не буду удалять вопрос вдруг кому пригодится
    Ответ написан
    3 комментария
  • Как удалить элемент коллекции laravel?

    @Camaro67
    Помог? - "Отметить решением"
    Документацию читаем, там очень много интересного.

    $collection = collect(['Я', 'не', 'читаю', 'документацию']);
    $collection->forget(1);
    $collection->dump(); // ['Я', 'читаю', 'документацию']

    А так же с коллекцией можно работать как с обычным массивом, а это значит, что unset тоже сработает: unset($collection[1]);

    И даже это не все, вообщем, как уже сказал: читайте документацию.
    Ответ написан
    1 комментарий
  • Как сделать связь таблицы laravel?

    rammtw
    @rammtw
    Press CTRL+S to save project
    $table->foreign('author_id')->references('id')->on('users');

    https://laravel.com/docs/5.3/migrations#indexes
    Ответ написан
    Комментировать
  • Как лучше добавить заголовки Last-Modified и Expires в Laravel?

    iMedved2009
    @iMedved2009
    Не люблю людей
    Добавление этих заголовков через ларавел в случае того что Last-Last-Modified берется из атрибутов модели updated_at единственный выход.
    В случае со статитикой лезть туда ларкой - такое себе, зачем nginx все сделает.

    А так - регистрируете middleware, в контроллерах через какой нибудь singleton ServiceProvider передаете нужную дату. Если у вас route model binding - то можно наверное как то автоматизировать процесс. Но это надо копать
    Можно тупо передавать примитивы через ServiceContainer https://laravel.com/docs/9.x/container#binding-pri...
    Ответ написан
    Комментировать
  • Как переместить пакеты из require в require-dev в composer?

    Если пакеты нельзя обновлять, то в composer.json нужно указать их конкретные версии и тогда можно спокойно вызывать composer update. А значит, можно спокойно перенести зависимости из одной секции в другую.
    Ответ написан
    Комментировать
  • В mysql для быстрого поиска по дате лучше использовать timestamp как int или как date (datetime)?

    php666
    @php666
    PHP-макака
    Сделал базу test
    CREATE TABLE `test` (
      `name` varchar(255) NOT NULL,
      `date_int` int(11) UNSIGNED NOT NULL,
      `date_time` datetime NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    ALTER TABLE `test`
      ADD KEY `date_int` (`date_int`),
      ADD KEY `date_time` (`date_time`);
    COMMIT;


    заполнил значениями дат, от 1970-01-01 00:00:01 до 1970-01-05 11:02:29, с разницей 1 секунда, итого вышло 1 603 869 строк (далее php умер и мне лень было настраивать Maximum execution time).

    Разницы вообще нет, если искать точное соответствие вплоть до секунды:
    SELECT * FROM `test` WHERE date_int = UNIX_TIMESTAMP('1970-01-03 12:12:12')

    id 	select_type 	table 	type 	possible_keys 	key 	key_len 	ref 	rows 	Extra 	
    1 	SIMPLE 	test 	ref 	date_int 	date_int 	4 	const 	2 	NULL

    EXPLAIN SELECT * FROM `test` WHERE date_time = '1970-01-03 12:12:12'

    id 	select_type 	table 	type 	possible_keys 	key 	key_len 	ref 	rows 	Extra 	
    1 	SIMPLE 	test 	ref 	date_time 	date_time 	5 	const 	2 	NULL


    Так что фанатик прав, нехрен для даты использовать числа.
    Ответ написан
    Комментировать
  • Как вурнуть массив из ajax?

    @DanKud
    Потому что это работает не так, как вы подумали. Вы присваиваете своей переменной ссылку на сам AJAX-объект, а не результат выполнения AJAX-запроса. С данными полученными в AJAX-запросе вам нужно работать именно в коллбэк-функции. То есть вот так:
    success: function (res) {
        /* здесь весь остальной код для работы с данными полученными в запросе */
    }});

    Или прописать отдельную функцию и передавать ее имя:
    function customFunc(res) {
        /* здесь весь остальной код для работы с данными полученными в запросе */
    }
    
    $.ajax({ // получаем массив вопросов
        .....
        success: customFunc
    });

    А присвоить эти данные переменной можно только через промис. Например так:
    (async () => {
        let array = await new Promise(resolve => {
            $.ajax({ // получаем массив вопросов
                type: "POST",
                url: '/site/questions',
                cache: false,
                dataType: 'json',
                global: false,
                success: function (res) {
                    return resolve(res);
                }
            });
        });
        console.log(array); /* вот сейчас в переменной будет то, что вам нужно */
    })();
    Ответ написан
    4 комментария
  • Как в Yii2 сохранить файл с сервера?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Как вариант
    https://habr.com/ru/post/151795/

    Вот еще метод для Yii2
    <?php
    public function actionDownload() {
       $path = \Yii::getAlias('@uploads') ;
       $file = $path . '/some-file.pdf';
     
       if (file_exists($file)) {
           return \Yii::$app->response->sendFile($file);
       } 
       throw new \Exception('File not found');
    }
    Ответ написан
    2 комментария
  • Сколько стоит работа за продвижение сайта в поисковых системах?

    @amambaru
    Максимальная цена за вашу работу определяется тем максимумом, что вы можете договориться с конкретным клиентом.

    Крайняя минимальная цена на вашу работу определяет тем, сколько вам нужно чтобы есть и платить за квартиру, иначе имеет смысл сменять профессию.

    Нормальная минимальная цена за вашу работу - это "сколько вы заработаете на другом, если откажитесь от этой работы". То есть стоимость вашего времени, возможность распоряжаться которым вы потеряете, как только возьметесь за работу.

    Ориентироваться на других нет ровным счетом никакого смысла - может они в Зибмабве живут, где не нужна крыша над головой и бананы сами в рот падают (то есть затраты на еду минимальны).

    Или напротив - зачем вам ориентироваться на цены человека, который занимается этим уже 10 лет и у него есть наработанные клиенты, которые уверены в этом специалисте и готовые ему платить в 10 больше только за гарантию качества работы.
    Ответ написан
    2 комментария
  • Как правильно выбирать регистратора доменных имен?

    alekciy
    @alekciy
    Вёбных дел мастер
    Если вопрос в надежности, то выбирать нужно (мы же о зонах рунета говорим, так?) аккредитованного регистратора. Только они имеют официальное права записи в реестр. Остальные не более чем ресселеры и при работе с ними возможны нюансы (ресселер может зарегать домен на себя). Список официальных регистраторов: www.cctld.ru/ru/registrators/

    Из все списка лучше регать в nic.ru или reg.ru. Я рекомендую reg.ru потому что: 1) у них есть программный API которые позволяет управлять доменом; 2) бесплатно предоставляют DNS сервер. Ну и в целом более клиенто-ориентированные.
    Ответ написан
    4 комментария
  • Как узнать по id яндекс метрики владельца?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Собственно в поддержке есть готовый сценарий как перенести счетчик на другой логин не имея доступа к самому счетчику:
    feedback2.yandex.ru/metrika/transfer/noaccess
    После переноса у Вас будет полный доступ, включая и старую историю
    Ответ написан
    1 комментарий
  • На каком CMS проще всего делать сайты со своим дизайном (писать собственные шаблоны)?

    @Angelxalfa
    У меня была аналогичная проблема - я выбрал Wordpress. По этой CMS очень много литературы, и я освоил создание шаблонов под нее за несколько дней.
    Мне очень помог вот этот видео-курс:
    www.youtube.com/watch?v=NamClmyOoms
    Главное понять иерархию файлов шаблона - а остальное элементарно, особенно если хоть немного знаете PHP (когда я делал первый сайт на Wordpress PHP не знал совсем - и то разобрался). Единственное, если выберете Wordpress - сразу дам добрый совет: ИЗБЕГАЙТЕ ЛИШНИХ ПЛАГИНОВ!!!!! Я по началу любил экспериментировать, ставил разные плагины, которые за частую и не нужны были - в результате несколько сайтов были взломаны, начали рассылать спам, а их последующее лечение оказалось очень геморройным занятием...
    Ответ написан
    Комментировать
  • На каком CMS проще всего делать сайты со своим дизайном (писать собственные шаблоны)?

    @LiguidCool
    Modx подойдёт. Лично мне нравится.
    Можно еще WP, дело вкуса.
    Ответ написан
    Комментировать
  • На каких движках писать сайты вэб студии?

    edtoken
    @edtoken
    Full-stack Javascript/Python Developer
    Знаю веб студию которая уже более 5 лет лепит сайты на wordpress, любой сложности.
    Вполне неплохо себя чувствуют как для местного бизнеса.
    Думаю, для веб студий - это один из лучших вариантов.
    Ответ написан
    Комментировать
  • Как передать данные строки таблицы php?

    @Mysterion
    Чтобы подсветить строку таблицы, можно создать какой-нибудь css-класс, который будет создавать какое-то выделение этой строки. Класс active, например.
    $('tr').on('click', function() {
        // удаляем у всех tr элементов таблицы класс active
        $('table tr').removeClass('active');
        // выбранной строке таблицы присваиваем класс active
        // в нашем случае в this лежит ссылка на обрабатываемый по клику элемент TR
        $(this).addClass('active');
        var id = $(this).find('td:first').text();
        // в id переменной будет лежать содержимое первого td элемента таблицы
        // дальше его можно куда-нибудь аяксом отправить
        $.ajax({
            type:"POST",
            url:'script.php', // куда шлем запрос
            cache: false,
            data:{id:id}, // отправляем $_POST['id'] скрипту с содержимым переменной id
            dataType: 'json',
            success: function(data){
                // успешно выполнено
            },
            error: function(data){
                // какая-то ошибка
            }
        });
    });

    Насчет success и error не уверен. Говорят, что done нужно использовать.
    Ответ написан
    5 комментариев