Laravel по-русски

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

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

#1 Laravel 6/7/8/9/10 » Хранение файлов в cloud.yandex.ru » 20.03.2021 00:19:34

proger_online
Ответов: 2

Создал bucket на cloud.yandex.ru получил сервисные ключи загружаю файлы
env

YANDEX_ACCESS_KEY_ID=wefwojefwjeoijfwoef
YANDEX_SECRET_ACCESS_KEY=wjelfwliejflwjelfjwelfw
YANDEX_DEFAULT_REGION=us-east-1
YANDEX_BUCKET=bucketname
YANDEX_ENDPOINT=storage.yandexcloud.net

....
  'yandex_cloud' => [
            'driver' => 's3',
            'key' => env('YANDEX_ACCESS_KEY_ID'),
            'secret' => env('YANDEX_SECRET_ACCESS_KEY'),
            'region' => env('YANDEX_DEFAULT_REGION'),
            'bucket' => env('YANDEX_BUCKET'),
            'url' => env('YANDEX_URL'),
            'endpoint' => env('YANDEX_ENDPOINT'),
        ],

делаю тестовый запрос

 Storage::disk('yandex_cloud')->put(
        '/disk/sample.txt',
        'sampletext',
        'public'
    );

файл гаружается НО имеет не то название и путь, что я ожидаю а именно

bucketname.storage.yandexcloud.net
без разрешений и названия которое я указал как ожидаемое
если загрузить другой файл то этот перезатрется даже если имя и пусть другое

#2 Laravel 6/7/8/9/10 » престлавутый JOIN » 29.06.2020 00:06:06

proger_online
Ответов: 2
    if ($request->input('tags')) {
            $tags = explode(",", (string)$request->input('tags'));
            $query->join('post_tags as pt', function ($join) use ($tags) {
                $join->on('p.id', '=', 'pt.post_id', 'left outer');
                foreach ($tags as $tag) {
                    $join->where('pt.slug', '=', $tag);
                }
            });
        } else {
            $query->join('post_tags as pt', 'p.id', '=', 'pt.post_id', 'left outer');
        }

суть примерно следующая хочу вырать все посты у которых есть все теги из `tags`
один тег выбирает но когда 2 выводит 0
так же было бы интересно если ты я сделал minus_tags  т.е. посты у которых нет любого из minus_tags

#3 Laravel 6/7/8/9/10 » Laravel Echo Pusher » 08.05.2020 10:28:34

proger_online
Ответов: 1

Вообщем странная загадка и не знаю куда копать может кто сталкивался.
Делал подключение данного функционала как и https://mattstauffer.com/blog/introducing-laravel-echo/
но когда я посылаю push из laravel оно появлется в админке pusher.com НО в фронтеде приложения не появляется.
Если посылваю сообщение из админики pusher.com с нужными параметрами то оно появляется на фронтенде.

<?php

namespace App\Events;

use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class NotifyUserEvent implements ShouldBroadcast
{
    public function __construct($user_id)
    {

        $this->user_id = $user_id;
    }

    /**
     * Information about the shipping status update.
     *
     * @var string
     */
    public $user_id;

    /**
     * Get the channels the event should broadcast on.
     *
     * @return \Illuminate\Broadcasting\PrivateChannel
     */
    public function broadcastOn()
    {
        return new PrivateChannel('new_interested.'.$this->user_id);
    }

    public function broadcastAs()
    {
        return 'notify-new-interested';
    }

}
var channel = window.Echo.channel('new_interested.1');
channel.listen('.notify-new-interested', function(data) {
    console.log("new message");
    console.log(data);
});

Куда копать? Спасибо

#4 Laravel 6/7/8/9/10 » Auth in REST api » 16.04.2020 01:57:19

proger_online
Ответов: 1

Вообщем делаю учебное приложение для себя. Пришел с другого framework поэтому некоторые вроде как очевидные вещи не понятны.
Хочу чтобы ва одном приложении можно было сводобно пользоваться и API (для ajax запросов) и web routing. Авторизация пользователя через куки и там и там без получения token
хочу чтобы если я посылал запрос на /api/posts он бы его обрабатывал бы его json, все бы ничего но он на находит пользователя по вот такой функции Auth::id() хотя куки посылаются вместе с запросом через axios.post, как мне идентифицировать пользователя в этом случае?

#7 Laravel 6/7/8/9/10 » Не добавляется job в очередь » 09.02.2020 12:03:40

proger_online
Ответов: 8

Собственно пытаюсь добвить job в очередь но этого не происходит, driver=database
никаки ошибок не вылетает при выполнении этой команды.

<?php

namespace App\Console\Commands;

use App\Jobs\LoadChannelsJob;
use Illuminate\Console\Command;
use Illuminate\Foundation\Bus\DispatchesJobs;

class CheckChannels extends Command
{
    use DispatchesJobs;
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'command:check';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';


    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {

        $this->dispatch(new LoadChannelsJob());
    }
}

#8 Re: Laravel 6/7/8/9/10 » Не создается foreign key » 09.02.2020 12:00:09

проблема была в том что оба типа надо было дедалать unsigned, по умолчанию laravelэто не делает) Спасибо)

#9 Laravel 6/7/8/9/10 » Не создается foreign key » 07.02.2020 01:21:04

proger_online
Ответов: 3

Почему-то не хочет создаваться foreign key в таблице jobs

  Schema::create('channels', function (Blueprint $table) {
            $table->integerIncrements('id');
            $table->string('title');
            $table->string('link',3000);
            $table->string('logo')->nullable();
            $table->boolean('is_parsed')->nullable();
            $table->dateTime('created_at')->nullable();
            $table->dateTime('updated_at')->nullable();
            $table->dateTime('last_check_at')->nullable();
        });
 Schema::create('jobs', function (Blueprint $table) {
            $table->integerIncrements('id');
            $table->string('title');
            $table->integer('channel_id');
            $table->text('description');
            $table->string('link', 3000);
            $table->string('guid', 3000);
            $table->dateTime('pubDate')->nullable();
            $table->dateTime('created_at')->nullable();
            $table->foreign('channel_id')->references('id')->on('channels')->onDelete('cascade');
            $table->index('channel_id');
        });

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