У меня есть пользовательская таблица с опытом работы пользователей:
Schema::create('workplaces', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('user_id');
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
$table->string('company')->nullable();
$table->string('position')->nullable();
$table->string('description')->nullable();
$table->smallInteger('from')->nullable();
$table->smallInteger('to')->nullable();
$table->timestamps();
});
Вот пример данных опыта пользователя:
----------------------------------------------------------
| user_id | company | position | description | from | to |
----------------------------------------------------------
----------------------------------------------------------
| 1 | Google | Designer | Lorem ipsum | 2018 |null|
----------------------------------------------------------
----------------------------------------------------------
| 1 | Yahoo | Designer | Lorem ipsum | 2014 |2017|
----------------------------------------------------------
----------------------------------------------------------
| 1 |Microsoft| Designer | Lorem ipsum | 2004 |2008|
----------------------------------------------------------
В этом примере пользователь с id == 1
имеет 7 лет опыта работы.
2018 - (2017 - 2014) - (2008 - 2004) = 2011
Пользователь в прошлом году работал в 2018 году, и теперь мне нужно вычесть результат из прошлого рабочего года:
2018 - 2011 = 7
Теперь у текущего пользователя 7-летний опыт работы.
Как я могу рассчитать пользовательский опыт работы с помощью Laravel Eloquent?