Сортировка результатов в Laravel - PullRequest
0 голосов
/ 29 октября 2019

Я новичок в Laravel. У меня есть проект в Laravel 5.8.

У меня есть этот код:

Schema::create('user_profile_images', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->bigInteger('user_id')->unsigned();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->string('path1', 255);
            $table->smallInteger('number1')->default(0);
            $table->string('path2', 255);
            $table->smallInteger('number2')->default(0);
            $table->string('path3', 255);
            $table->smallInteger('number3')->default(0);
            $table->string('path4', 255);
            $table->smallInteger('number4')->default(0);
            $table->string('path5', 255);
            $table->smallInteger('number5')->default(0);
            $table->string('path6', 255);
            $table->smallInteger('number6')->default(0);
            $table->string('path7', 255);
            $table->smallInteger('number7')->default(0);
            $table->ipAddress('ip');
            $table->engine = "InnoDB";
            $table->charset = 'utf8mb4';
            $table->collation = 'utf8mb4_unicode_ci';
        });

User.php

public function UserProfileImageGallery()
    {
        return $this->hasMany('App\UserProfileImage', 'user_id', 'id');
    }

Мне нужно отобразить путь пользователя (path1, path2, путь3, путь4 ... путь7) в порядке номеров (номер1, номер2, номер3 ... номер7).

например:

$path1 = "www1";
$number1 = 2;
$path2 = "www2";
$number2 = 1;
$path3 = "www3";
$number3 = 3;

В результате мне нужно:

www2, www1, www3

Как мне это сделать?

1 Ответ

0 голосов
/ 29 октября 2019

Таблица user_profile_images:

Schema::create('user_profile_images', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->bigInteger('user_id')->unsigned();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->ipAddress('ip');

        });

Таблица user_profile_images_pathes:

Schema::create('user_profile_images_pathes', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->bigInteger('user_profile_images_id')->unsigned();
            $table->foreign('user_profile_images_id')->references('id')->on('user_profile_images')->onDelete('cascade');
            $table->string('path', 255);
            $table->smallInteger('number')->default(0);

        });

User.php

public function UserProfileImageGallery()
    {
        return $this->hasMany('App\UserProfileImage', 'user_id', 'id');
    }

user_profile_images.php

 public function UserPathes()
    {
        return $this->hasMany('App\user_profile_images_pathes', 'user_profile_images_id', 'id')->orderBy('number');
    }

в вашем контроллере

$user=User::find(1);
$user->UserProfileImageGallery->UserPathes;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...