Я пытаюсь присоединиться к 2 таблицам (штат и hr_validations), а затем вернуть результат в мое приложение vuejs для отображения.
Моя необычная модель:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\hr_validation;
class hrvalidationController extends Controller
{
public function getStaffLoans()
{
$loan = hr_validation::join('staff','staff.staff_id','=','hr_validations.staff_id_fk')->where('hr_validations.validate',NULL);
$date = $loan->pluck('hr_validations.created_at');
$name= $loan->pluck('staff.staff_name');
return([$loan->pluck('staff_id_fk'), $loan->pluck('loan_amount'), $loan->pluck('loan_tenor'), $loan->pluck('loan_purpose'), $loan->pluck('description'), $date, $loan->pluck('hr_validations.id'), $name]);
}
Таблица hr_validations:
Таблица персонала:
Проблема заключается в том, как Eloquent Model заполняет столбец staff_name в результате отправки в мое приложение VueJS. Он просто заполняет его, как он отображается в таблице сотрудников, а не в соответствии с staff_id_fk в таблице hr_validations, как показано ниже, когда я повторяю результат в VueJS:
Как я могу исправить столбец "Идентификатор штата", чтобы он отображал правильное имя персонала для каждого кода персонала, чтобы столбец имени персонала отображал ["Anthony Babatunde", "John Jackson", "Anthony Babatunde"] вместо того, что он ниже:
Любая помощь будет оценена по достоинству. Спасибо!
По-видимому, я пропустил оператор select перед операцией join. Это и мой код работают отлично.
hr_validation::join('staff','staff.staff_id','=','hr_validations.staff_id_fk')->where('hr_validations.validate',NULL)->toSql();
, Кроме того, зачем использоватьpluck
а не выбирать?