Laravel по-русски

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

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

#1 Laravel 5.x » passport создание токена » 06.02.2018 17:38:40

Archi
Ответов: 0

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

#2 Re: Laravel 5.x » social lite » 05.02.2018 19:16:06

у меня тоже самое и с fb и с google, может быть это из-за того что эти руты в группе api ?

Route::group(['middleware' => ['web']], function () {
//    Route::get('{provider}/redirect', 'RegisterController@redirectToProvider');
//    Route::get('{provider}/callback', 'RegisterController@handleProviderCallback');


    Route::get(
        '/socialite/{provider}',
        [
            'as' => 'socialite.auth',
            function ( $provider ) {
                return \Socialite::driver( $provider )->redirect();
            }
        ]
    );

    Route::get('/socialite/{provider}/callback', function ($provider) {
        $user = \Socialite::driver($provider)->user();
        dd($user);
    });

    Route::apiResource('register', 'RegisterController');
});

#3 Re: Laravel 5.x » social lite » 05.02.2018 18:46:37

Да вроде правильный в настройках в поле Действительные URL-адреса для перенаправления OAuth довил url на callback функцию или куда-то не туда надо?

#4 Laravel 5.x » social lite » 03.02.2018 15:34:55

Archi
Ответов: 3

Что я делаю не правильно, что с fb, что с gmail не получается сделать ...

Route::get('redirect/{provider}', 'RegisterController@redirectToProvider');
Route::get('callback/{provider}', 'RegisterController@handleProviderCallback');

public function redirectToProvider($provider)
    {
        return Socialite::driver($provider)->redirect();
    }

    public function handleProviderCallback($provider)
    {
        $user = Socialite::driver($provider)->user();

        dd($user);
    }

'google' => [
        'client_id' => env('GOOGLE_CLIENT_ID'),
        'client_secret' => env('GOOGLE_CLIENT_SECRET'),
        'redirect' => env('GOOGLE_REDIRECT'),
    ],

    'facebook' => [
        'client_id' => env('FB_CLIENT_ID'),
        'client_secret' => env('FB_CLIENT_SECRET'),
        'redirect' => env('FB_REDIRECT'),
    ],

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT=http://localhost:8000/api/callback/google

FB_CLIENT_ID=
FB_CLIENT_SECRET=
FB_REDIRECT=http://localhost:8000/api/callback/facebook

в developer console callback тот-же что и в env

#6 Laravel 5.x » Собрать children » 29.01.2018 22:39:16

Archi
Ответов: 0

Помогите собрать массив со всеми вложенностями children

$nodes = File::where('parent_id', '0')->get();

мне надо тоже самое что и если бы я делал так

$nodes = File::where('parent_id', '0')->with('children.children')->get();

только я не знаю какая вложенность


dump($this->createTree($nodes, $arr));die;

private function createTree($nodes, &$arr)
    {
        foreach ($nodes as $k => $item) {

            if ($item->parent_id === 0) {
                $arr[$item->id] = $item->toArray();
            }

            $this->loop($item->children()->get(), $arr);
        }

        return $arr;
    }

    private function loop($items, &$arr)
    {
        foreach($items as $item)
        {
            if (isset($arr[$item->parent_id])){ // не понимаю как тут заносить когда глубина больше одного
                $arr[$item->parent_id][$item->id] = $item->toArray();
            }

            dump($item->children()->get());

            $this->loop($item->children()->get(), $arr);
        }
    }

#7 Re: Laravel 5.x » функция with и выборка » 29.01.2018 21:45:04

Всё же может кто-то знает как функция with работает из нутри когда указываешь children.children ?

#8 Re: Laravel 5.x » функция with и выборка » 29.01.2018 13:08:14

дерево каталогов и файлов

основные параметры parent_id, is_folder = boolean

#9 Re: Laravel 5.x » функция with и выборка » 29.01.2018 12:33:59

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

#10 Laravel 5.x » функция with и выборка » 29.01.2018 12:29:16

Archi
Ответов: 8

Подскажите как сделать тоже самое только своими ручками?

with('children.children.children');

как пройти все имеющийся вложености $obj->children();

with функция делает всё отлично просто вложеность уровней неизвестно сколько будет...

#11 Re: Laravel 5.x » foreign key » 28.01.2018 15:31:27

их много но первая которая выстреливает вот

public function up()
    {
        Schema::create('person', function (Blueprint $table) {
            $table->increments('id');
            $table->string('first_name');
            $table->string('last_name');
            $table->string('email')->unique();
            $table->string('phone')->nullable();
            $table->string('nin')->nullable();
            $table->date('dob')->nullable();
            $table->timestamps();
        });

        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('email')->unique();
            $table->string('password');
            $table->string('role');
            $table->tinyInteger('active')->default(1);
            $table->rememberToken();
            $table->timestamps();

        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('person');
        Schema::dropIfExists('users');
    }

#12 Re: Laravel 5.x » foreign key » 28.01.2018 15:07:45

у меня пытается пересоздать таблицы и получаю ошибку что такая таблица уже существует хотя в down указано dropIfExist

#13 Laravel 5.x » foreign key » 28.01.2018 13:37:35

Archi
Ответов: 5

Как вы меняете reference , foreign key когда оказывается например как в моем случаи связь должна быть на другую таблицу?

#14 Re: Laravel 5.x » Отфильтровать children » 28.01.2018 13:33:03

спасибо этот вариант отлично сработал wink

есть еще одна проблемка почему-то не возвращает по связи objects из objects_files

$fileNodes = FileNode::where('parent_id', '0')
            ->with('children.children.children.children.children')
            ->get();

$fileNodes->load('objects')

public function objects()
    {
        return $this->belongsToMany(Objects::class, 'files_objects');
    }

хотя со стороны objects файлы возвращает там тоже самое.

#15 Re: Laravel 5.x » Отфильтровать children » 28.01.2018 12:25:02

мне надо отдать уже отфильтрованый json

#16 Laravel 5.x » Отфильтровать children » 27.01.2018 15:32:06

Archi
Ответов: 5

Подскажите каким образом можно отфильтровать children'ov

чтобы с полем is_folder = 1 были сверху

структура таблица по чему выбираю записи parent_id , также is_folder 1 = папка 0 = файл

моя выборка:

$fileNodes = FileNode::where('parent_id', '0')->with('children.children.children.children.children')
            ->orderBy('is_folder', 'desc')
            ->get();

если поле is_folder = 0 то у него поле mime_type будет не null если это что-то даст...

#17 Laravel 5.x » Связь один к одному » 21.01.2018 12:41:44

Archi
Ответов: 1

Вопрос в какой таблице устанавливать foreign key

Есть таблица "Objects" с полями object_no, object_name, description, и у него связь один к одному с таблицей users, contacts,

на диаграме у модели objects есть contact_id, user_id, я установил foreign в Objects на эти таблице

и при выборке Objects::with('contact') получаю ошибку с тем что ищется objects_id в таблице contacts

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