Laravel 4 Laravel 4对12个列表使用相同的模型和控制器进行选择

Laravel 4 Laravel 4对12个列表使用相同的模型和控制器进行选择,laravel-4,model,controller,Laravel 4,Model,Controller,我必须为12张桌子制作模型、控制器和视图。它们都具有相同的结构id、名称和顺序 我在想,也许在用: Controller index($model) $model::all() return View::make(all_tables,compact('model')) edit($model,$id)... and so on. 但我不知道是否有办法只使用一个模型 有人做过这样的事吗? 有什么想法吗 谢谢你应该从这里得到一些想法。请使用下面的链接 //app/models/Bear.ph

我必须为12张桌子制作模型、控制器和视图。它们都具有相同的结构id、名称和顺序

我在想,也许在用:

Controller 
index($model)
$model::all()
return View::make(all_tables,compact('model'))
edit($model,$id)... and so on.
但我不知道是否有办法只使用一个模型

有人做过这样的事吗? 有什么想法吗


谢谢

你应该从这里得到一些想法。请使用下面的链接

//app/models/Bear.php 类熊扩展雄辩{

// MASS ASSIGNMENT -------------------------------------------------------
// define which attributes are mass assignable (for security)
// we only want these 3 attributes able to be filled
protected $fillable = array('name', 'type', 'danger_level');

// DEFINE RELATIONSHIPS --------------------------------------------------
// each bear HAS one fish to eat
public function fish() {
    return $this->hasOne('Fish'); // this matches the Eloquent model
}

// each bear climbs many trees
public function trees() {
    return $this->hasMany('Tree');
}

// each bear BELONGS to many picnic
// define our pivot table also
public function picnics() {
    return $this->belongsToMany('Picnic', 'bears_picnics', 'bear_id', 'picnic_id');
}
}我找到了一个简单的方法。 也只有一个模型、一个控制器和一个视图(索引、编辑等)

一张单人桌 id、列表名称、值(列表中显示的名称)


Yo pass可以传递以取消查看每个列表中的所有值,对于表中的任何列表,如果列表不为空,则可以创建取消选择。

尽管每个模型都有相同的表结构,但您尝试实现的目标并不可取,因为您将失去很多的流畅功能

关于控制器,这将起作用:

<?php
namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class GenericModelController extends Controller
{
    public function loadModelById($model, $id)
    {
        $instance = \App::make('App\\' . ucfirst($model));
        return $instance->find($id);
    }
}
例如,要加载id为1的用户:

http://www.yourdomain.com/show/user/1

编辑:我刚刚看到您使用的是Laravel4,所以我相信定义路线的语法会有点不同,但一般的概念仍然有效。在Laravel 5中进行测试,效果非常好。

这是一个简单的模型控制器,我想使用相同的控制器,如果可能的话,在12个不同的表中使用相同的模型。谢谢,这是一个很好的方法,但仍然需要创建12个表和12个模型。但是我会保存你的anwser,当然我必须使用它;)您的问题是需要为12个表创建模型,所以我假设这些表已经存在。否则,您的问题可能需要编辑才能更清楚。
http://www.yourdomain.com/show/user/1