如何从Laravel 5中的多个表中获取特定列?
我有三张桌子如何从Laravel 5中的多个表中获取特定列?,laravel,laravel-5,eloquent,laravel-5.2,laravel-query-builder,Laravel,Laravel 5,Eloquent,Laravel 5.2,Laravel Query Builder,我有三张桌子 国家: 身份证件 名字 省: 身份证件 名称 国家识别号 城市: 身份证件 名称 省id 我在模型中定义了如下关系: 国家模式: public function Provinces() { return $this->hasMany('App\Province'); } 省模式: public function Country() { return $th
public function Provinces()
{
return $this->hasMany('App\Province');
}
省模式:
public function Country()
{
return $this->belongsTo('App\Country');
}
public function Cities()
{
return $this->hasMany('App\City');
}
城市模式:
public function Province()
{
return $this->belongsTo('App\Province');
}
我正在使用下面的查询,但它会用国家名称覆盖所有数据
$city = DB::table('cities')
->join('provinces', 'cities.province_id', '=', 'provinces.id')
->join('countries', 'provinces.country_id', '=', 'countries.id')
->select('cities.name','provinces.name','countries.name')
->get();
我只想从laravel 5中的这些表中获取城市名称、省名称和国家名称的结果。你能帮我吗?试着用
作为
:
->select('cities.name as city_name', 'provinces.name as province_name', 'countries.name as country_name')
你能试试这个吗:
$city = DB::table('cities')
->join('provinces', 'cities.province_id', '=', 'provinces.id')
->join('countries', 'provinces.country_id', '=', 'countries.id')
->get(['cities.name', 'provinces.name', 'countries.name']);
我希望它能帮助你 好的,这将是一个具体的答案 了解laravel的不动产,看看这些
class example1 extends Model
{
public function examplefunction() {
return $this->hasMany('App\othermodel', 'id');
}
}
然后使用这个查询
$abc=example1::with('examplefunction')->get();
现在,你只需看看拉威尔关系,通过使用这个,你可以得到综合结果,这是一个完全不同的问题。谢谢,它不起作用了。它正在用Country Name的值替换所有值。请在不使用select子句的情况下重试!
$products = User::select('id', 'email', 'first_name', 'last_name','country_code','mobile')->get()->toArray();
$gaurang = Ticket_Thread::select('body','title','resolv_note')