这是我的一个型号名称"部门"
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Department extends Model
{
//
protected $table = 'dept_master';
}
和部门的控制人员
命名空间App \ Http \ Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Department;
class DepartmentController extends Controller
{
public function departmentsName()
{
$departments = DB::table('dept_master')->orderBy('edesc','ASC')->get();
return $departments;
}
}
和另一个模范申诉登记册
<?php
namespace App;
//namespace Models;
use Illuminate\Database\Eloquent\Model;
class GrievanceRegister extends Model
{
}
和申诉控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\GrievanceRegister;
use App\Department;
class GrievanceRegisterController extends Controller
{
public function show()
{
$departments = Department::orderBy('edesc','ASC')->get();
return view('griev_reg_form', array('departments' => $departments));
}
}
?>
并在视图文件中
<select name="departments"> <?php foreach($departments as $result)
{
?> <option value="<?php echo $result->deptcode; ?>"><?php echo $result->edesc; ?></option> <?php } ?>
</select>
从另一个模型中调用一个模型数据是否正确? 控制器。如果我错了,请纠正我。
答案 0 :(得分:0)
我不确定模型和控制器的概念是否清楚。
我尽力在这里解释一下。
因此模型用于与表进行通信。
在你的情况下,我猜你看到代码是这样的,你有一个名为departments
的表,这就是为什么你会有一个模型Department
,你可以帮助保存,更新,删除或从departments
表中提取数据。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Department extends Model
{
protected $fillable = ['name'];
}
再次以第一个字母表的形式出现更好。
$fillable
变量定义表中的哪些字段可以进行质量分配。有关Lravel 5.4,请参阅此处reference
现在我假设您的表格中有id
和name
字段departments
现在在您的控制器中,您指的是一些表:dept_master
这是没有意义的。
你的控制器应该是这样的:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Department;
use App\department;
class DepartmentController extends Controller
{
public function departmentsName()
{
$departments = Department::orderBy('edesc','ASC')->get();
return $departments;
}
}
我不知道您在模型中使用$table
变量尝试实现的目标,其中包含字符串dept_master
以及此表dept_master
是什么。
我已经解释了模型和控制器的概念。
为每张桌子准备模型,并通过模型从任何控制器访问它们。它很简单。
正如我在回答你之前的问题时提到的那样。对于表名和camelCase,请使用snake_case复数形式,除了模型名称的第一个字母大写外。