我有两个型号。我怎样才能结合?喜欢$ records-> union($ datetimesarchive,' id1',' =',' id2'):
class Record extends Model
{
protected $table = 'records';
public function getByVar($var)
{
$data = Record::where('var', $var)
->select('fio', 'var1', 'var2')
->get();
return $data;
}
}
class DateTimeArchive extends Model
{
protected $table = 'table2';
public function getStatus($status)
{
$data = DateTimeArchive::where('status', $status)
->select('date', 'var1', 'var2')
->get();
return $data;
}
}
即时尝试在laravel上重构:
$result = $mysqli->query("
SELECT z.fio, z.var1, z.var2, d.date, d.var1, d.var2
FROM table1 z, table2 d WHERE (z.var1 = 'mytext' AND d.var2 = 'othertext' AND z.id1 = d.id2)");
答案 0 :(得分:1)
你可以使用Eloquent集合的功能。“合并” 例如:
$result1=DateTimeArchive::where('status', $status)
->select('date', 'var1', 'var2')
->get();
$result2=Record::where('var', $var)
->select('fio', 'var1', 'var2')
->get();
$result=$result1->merge($result2);