laravel - Laravel 5.5 在控制器中连接你的类
问题描述
文件夹“App”中有一个文件“MyClasses.php”:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Model1 extends Model {}
class Model2 extends Model {}
如何使用 use 在控制器中连接它?
解决方案
我建议您阅读 PSR-4 标准: https ://www.php-fig.org/psr/psr-4/
在这种情况下,MyClasses.php 不是模型的有效名称,因为 a) 没有调用其中定义的任何类,MyClasses
并且 b) 该文件中有许多类定义。
// App/Model1.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Model1 extends Model {
protected $table = 'some_table';
}
// Controller
use App\Http\Controllers\Controller;
use App\Model1;
class SomeController extends Controller
{
public function index()
{
$record = Model1::where('some_field', 1)->get();
}
}
编辑:澄清。两个模型都应该在它们自己的文件中,分别位于 App 文件夹下的 Model1.php 和 Model2.php 文件中。此外,您的模型名称 * 应该 * 对应于他们正在访问的表名。因此,例如,如果 Model1 将绑定到表user_confirmations
,您应该将文件和类重命名为UserConfirmations
- 这将被视为最佳实践。
推荐阅读
- android - Android 浏览器看不到 Fiddler 代理
- r - 用于获取目录中子目录(即文件夹)大小的 R 脚本?
- rxjs - RxJS 中的 tap 和 map 有什么区别?
- php - 为什么我不能使用 Vue 初始化 Channel?
- docker - azuredevops docker build 在构建后处理文件时失败
- javascript - JavaScript - 时刻库日期生成与输入不同
- reactjs - React 和 react-chartjs-2,折线图用字符串(文本)显示数据
- c++ - 如何在函数中更改对象c ++的值
- python - 如何使用pynput收听带有修饰键组合的字母键?
- swift - 在结构的计算属性中访问环境对象属性