【发布时间】:2018-08-05 19:14:51
【问题描述】:
我正在尝试加入 2 个表(staff 和 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]);
}
问题在于 Eloquent 模型在发送到我的 VueJS 应用程序的结果中填充 staff_name 列的方式。当我在 VueJS 中迭代结果时,它只是按照它出现在人员表中而不是根据 hr_validations 表中的 staff_id_fk 填充它,如下所示:
如何更正员工姓名列,使其显示每个员工代码的正确员工姓名,以便下面的员工姓名列显示 [“Anthony Babatunde”,“John Jackson”,“Anthony Babatunde”] 而不是它在下面显示的内容:
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
Laravel 生成的查询是什么?
hr_validation::join('staff','staff.staff_id','=','hr_validations.staff_id_fk')->where('hr_validations.validate',NULL)->toSql();。另外,为什么使用pluck而不是选择? -
@craig_h 哈!显然问题是我在加入之前没有使用 select 语句。谢谢你指出我正确的方向。
标签: mysql rest laravel-5 vue.js eloquent