как отобразить объединенные данные двух таблиц, используя отношение hasone в контроллере - PullRequest
0 голосов
/ 21 января 2019

У меня есть две таблицы:

employees(
  employe_id(primary key),
  emp_name,
  pay_id
)

pays(
  pay_id,
  hourlyrate
)

У меня есть этот код в employeemodel.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use App\payModel;
class employeeModel extends Model
{

    protected  $table='employees';
    protected  $primaryKey='employe_id';
    public $timestamps=false;

    public function pay()
    {
    return $this->hasOne('App\payModel','pay_id');  
    }
}
?>

В payModel У меня естьэтот код.

, а в у контролера управления есть этот код.

<?php

namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Support\Str;
use App\Http\Requests;
use Illuminate\Http\Request;
use App\employeeModel;
use Illuminate\Support\Facades\DB;

class employeController extends Controller
{
  public function display()
  {
    $display = employeeModel::find(1)->pay;
    return $display;
  }
} 

Когда я использую это, я получаю только данные таблицы выплат.Я хочу объединить результаты двух таблиц, которые я включаю в запрос.

Когда я использую только $display = employeeModel::find(1);, я получаю данные таблицы сотрудников.

Когда используется $display = employeeModel::find(1)->pay; Я получаю только выплатыдетали таблицы?

class employeController extends Controller
{
  public function display()
  {
    //DB::enableQueryLog();
    $display = employeeModel::find(1)->pay;
    return $display;
  }
}

1 Ответ

0 голосов
/ 21 января 2019

Вы можете использовать с, Это объединит две таблицы,

class employeController extends Controller
{
  public function display()
  {
    //DB::enableQueryLog();
    $display = employeeModel::with('pay')->find(1);
    // dd($display);
    return $display;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...