Laravel模型操作

在Laravel中要对数据模型进行操作,主要有3种方法:

  • 使用原生SQL
  • 使用DB类
  • 使用自定义模型

下面我们逐一来进行查看:

首先是原生SQL的方式,直接使用DB类的select方法进行获取:

$values = DB::select("select * from user_info limit 10");  
foreach ($values as $key => $value) {  
    foreach ($value as $k => $v) {  
        echo $k.' = '.$v.'</br>';  
    }  
    echo '---------------------</br>';  
}

这种方式需要手动编写原生SQL语句。之后是使用table的方式指定表再进行相关方法调用的方式:

$values = DB::table("user_info")->select('username','city','birth')->limit(5)->get();

对于第3种方式,可以使用下面的方式生成数据模型:

  
php artisan make:model UserInfo  

在app目录下可以看到UserInfo.php文件,我们修改其内容为如下:

<?php  

namespace App;  

use Illuminate\Database\Eloquent\Model;  

class UserInfo extends Model  
{  
    protected $table = 'user_info';  
}

我们指定了表名为变量table,否则它会根据模型的名称去猜测表名。
之后再控制器中引入对应的模型类,再进行调用:

use App\UserInfo as userinfo;  

...  
    public function db_test(){  
        $values = userinfo::select()->limit(10)->get();  
        foreach ($values as $key => $value) {  
            $data = $value["attributes"];  
            foreach ($data as $k => $v) {  
                echo $k.' = '.$v.'</br>';  
            }  
            echo '---------------------</br>';  
        }  
    }

这3种方式可以得到相同的结果。

参考文章:

https://laravel.com/docs/5.3/database
https://laravel.com/docs/5.3/queries
https://laravel.com/docs/5.3/eloquent#query-scopes

若文章对您有帮助,请打赏1块钱。您的支持,可以让我分享更多精彩的文章。转载请注明来源


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。