Eloquent Model не объединяет таблицы в правильном порядке

0

Я пытаюсь присоединиться к 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: Изображение 174551

Таблица персонала: Изображение 174551

Проблема заключается в том, как Eloquent Model заполняет столбец staff_name в результате отправки в мое приложение VueJS. Он просто заполняет его, как он отображается в таблице сотрудников, а не в соответствии с staff_id_fk в таблице hr_validations, как показано ниже, когда я повторяю результат в VueJS: Изображение 174551

Как я могу исправить столбец "Идентификатор штата", чтобы он отображал правильное имя персонала для каждого кода персонала, чтобы столбец имени персонала отображал ["Anthony Babatunde", "John Jackson", "Anthony Babatunde"] вместо того, что он ниже: Изображение 174551

Любая помощь будет оценена по достоинству. Спасибо!

  • 1
    Какой запрос генерирует Laravel? hr_validation::join('staff','staff.staff_id','=','hr_validations.staff_id_fk')->where('hr_validations.validate',NULL)->toSql(); , Кроме того, зачем использовать pluck а не выбирать?
  • 0
    @craig_h Ха! Очевидно, проблема была в том, что я не использовал оператор select перед объединением. Спасибо, что указали мне правильное направление.
Теги:
eloquent
vue.js
rest
laravel-5

1 ответ

0
Лучший ответ

По-видимому, я пропустил оператор select перед операцией join. Это и мой код работают отлично.

  • 0
    Можете ли вы пометить ответ как принятый ? Это показывает другим пользователям, что проблема решена.
  • 0
    @JonasStaudenmeir Спасибо за совет. Ура!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню