首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在laravel-5模型中使用多个表

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

Stack Overflow用户
提问于 2016-03-25 15:14:51
回答 3查看 850关注 0票数 0

我有一个活动菜单,它有三个子菜单。这些子菜单对于activity是通用的,但具有不同的表格。所以我想在一个模型类下使用这三个表,如何才能将操作分别保存到彼此?

我的代码如下:

代码语言:javascript
复制
<?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';
}
EN

回答 3

Stack Overflow用户

发布于 2016-03-25 15:22:51

代码语言:javascript
复制
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);
票数 0
EN

Stack Overflow用户

发布于 2016-03-25 16:00:52

你可以创建另一个建立在你的模型之上的类,甚至可以像@Peeje提到的那样使用普通的SQL查询。模型的目的是在Laravel中处理单个表--我不认为有一种简单的方法可以让它与不同的表一起工作。

票数 0
EN

Stack Overflow用户

发布于 2016-03-27 21:08:28

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

您应该创建3个模型并执行relationship

它会很简单,比如

代码语言:javascript
复制
<?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; 一样检索注意:你应该根据你的需要创建和定制你的模型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36215632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档