[英]How to use more then one table in laravel-5 model
我有一個活動菜單,其中包含三個子菜單。 這些子菜單對於活動是通用的,但是具有不同的表。 因此,我想在一個模型類下使用這三個表,我該如何彼此保存操作?
我的代碼如下:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
use DB;
class Activity extends Model {
protected $table1 = 'task_management';
protected $table2 = 'call_management';
protected $table3 = 'event_management';
}
use DB;
I have preferred using the DB query whenever i had to work with more than one table, below is a sample query.
$data = DB::table('base table name')
->join('join table name', 'join table name id', '=', 'master table name id')
->select('column 1', 'column 2', 'column 3')
->where('column1', $val);
您可以創建在模型之上構建的另一個類,甚至可以使用@Peeje提到的簡單SQL查詢。 在Laravel中,模型應與單個表一起使用-我認為沒有一種簡單的方法可以使它與不同的表一起使用。
我建議您遵循口才,
您應該創建3個模型並建立關系
這很簡單
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class CallManagement extends Model
{
/**
* Get the task record associated with the user.
*/
public function task()
{
return $this->hasOne('App\TaskManagement');
}
}
這使您可以像$task = User::find(1)->TaskManagement;
一樣進行檢索$task = User::find(1)->TaskManagement;
注意:您應該根據需要創建和定制模型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.