Jay*_*aya -2 php frameworks web laravel
我不明白什么是模型,什么是雄辩.我试过这段代码
<?php
class Nerd extends Eloquent
{
}
Run Code Online (Sandbox Code Playgroud)
但仍然没有得到这个.建模是做什么的?
这里一步一步讨论
实际上,Eloquent ORM(对象关系映射)提供了比我们通常更多的层.我们直接与数据库中的表进行直接交互或查询.这就是为什么我们用php和mysql编写如下代码
select * from table_name
Run Code Online (Sandbox Code Playgroud)
并且Laravel还提供查询构建器以直接与数据库中的表进行交互,假设表名是用户
DB::table('users')->select('*')->get();
Run Code Online (Sandbox Code Playgroud)
现在最后的事情是模型: 由于Eloquent提供了一个额外的层来与数据库中的表进行交互,因此它建议制作一个模型.在制作模型时,将通过模型完成与表的所有交互.
假设这里给出一个例子:
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
//
}
Run Code Online (Sandbox Code Playgroud)
这里用户模型代表用户表.型号名称是单数,其对应的表名称是复数.
如果需要所有用户数据,则Eloquent查询将是
$users= App\User::all();
Run Code Online (Sandbox Code Playgroud)
如果命名空间在控制器内使用(Eloquent查询将存在)
use App\User;
$users = User::all(); //here no need to give App namespace like the above code
Run Code Online (Sandbox Code Playgroud)
希望它有意义.