我有一个活动菜单,它有三个子菜单。这些子菜单对于activity是通用的,但具有不同的表格。所以我想在一个模型类下使用这三个表,如何才能将操作分别保存到彼此?
我的代码如下:
<?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';
}发布于 2016-03-25 15:22:51
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);发布于 2016-03-25 16:00:52
你可以创建另一个建立在你的模型之上的类,甚至可以像@Peeje提到的那样使用普通的SQL查询。模型的目的是在Laravel中处理单个表--我不认为有一种简单的方法可以让它与不同的表一起工作。
发布于 2016-03-27 21:08:28
我建议你遵循雄辩的方式,
您应该创建3个模型并执行relationship
它会很简单,比如
<?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; 一样检索注意:你应该根据你的需要创建和定制你的模型。
https://stackoverflow.com/questions/36215632
复制相似问题