File: /home/imensosw/www/ezwork/app/Models/UserSkillPair.php
<?php
/**
* UserSkillPairModel class file
*
* PHP Version 7.2
*
* @category Model
* @package Ez
* @author Imenso Software <admin@imensosoftware.com>
* @license http://imensosoftware/license.php GNU Public License
* @link http://imensosoftware.com/recipes
*/
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use DB ;
/**
* UserSkillPairModel class
*
* The class manage User Skill Pair related queries
*
* @category UserSkillPairModel
* @package Ez
* @author Imenso Software <admin@imensosoftware.com>
* @license http://imensosoftware/license.php GNU Public License
* @link http://imensosoftware.com/recipes
*/
class UserSkillPair extends Model
{
public $table = "user_skill_pairs";
public $fillable = ['user_id','from_language_id','to_language_id'];
public $timestamps = false;
/**
* UpdateUserSkillPairs function updates or create the skills pair
* of a specified user and return boolean value.
*
* @param int user_id
* @return boolean value
*/
public static function updateUserSkillPairs($user_id)
{
$userLanguageIds = UserSkill::
select(DB::raw('group_concat(user_skills.language_id) as language_ids'))
->where('user_skills.user_id', '=', $user_id)
->groupBy('user_skills.user_id')->first();
UserSkillPair::where('user_id', $user_id)->delete();
if ($userLanguageIds) {
$userLanguageIds = explode(',', $userLanguageIds->language_ids);
if (sizeof($userLanguageIds) >= 2) {
$userLanguageArray = \App\Models\Language::getLanguageCombination($userLanguageIds, 2);
foreach ($userLanguageArray as $userLanguage) {
UserSkillPair::updateOrCreate(
['user_id' => $user_id,'from_language_id' => $userLanguage[0],'to_language_id' =>
$userLanguage[1]],
['user_id' => $user_id,'from_language_id' => $userLanguage[0],'to_language_id' =>
$userLanguage[1]]
);
}
}
}
}
}