如何在laravel-5模型中使用多个表

时间:2016-03-25 07:14:51

标签: php laravel-4 laravel-5 laravel-5.1

我有一个活动菜单,有三个子菜单。这些子菜单对于活动是通用的,但具有不同的表。所以我想在一个模型类下使用这三个表,如何相互保存操作?

我的代码如下:

<?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';
}

3 个答案:

答案 0 :(得分:0)

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);

答案 1 :(得分:0)

您可以创建另一个基于模型构建的类,或者甚至只使用简单的SQL查询作为@Peeje提到的。模型适用于Laravel中的单个表 - 我不认为有一种简单的方法可以使它适用于不同的表。

答案 2 :(得分:0)

我建议你遵循雄辩的方式,

您应创建3个模型并执行the answer from Swier

就像

一样简单
$task = User::find(1)->TaskManagement;

允许您像{{1}}一样进行检索 注意:您应该根据需要创建和自定义模型。