簡體   English   中英

如何在Laravel-5模型中使用多個表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM