我有两个表:
employees(
employe_id(primary key),
emp_name,
pay_id
)
pays(
pay_id,
hourlyrate
)
我在 employemodel.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 中,我有此代码。
和 employcontroller 中都有此代码。
<?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;
}
}
答案 0 :(得分:0)
您可以使用,它将合并两个表,
class employeController extends Controller
{
public function display()
{
//DB::enableQueryLog();
$display = employeeModel::with('pay')->find(1);
// dd($display);
return $display;
}
}