我有一个活动菜单,它有三个子菜单。这些子菜单对于活动是通用的,但有不同的表。所以我想在一个模型类下使用这三个表,如何对彼此单独进行保存操作?
我的代码如下:
<?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中的单个表的——我认为没有一种简单的方法可以让它处理不同的表。
我建议您遵循Eloquent方式,
你应该创建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;
一样进行检索注意:您应该根据需要创建和自定义模型。