这是我的代码
$string = str_random(20);
$get_token = DB::table('users')->select('token')-> get();
现在我想将$string
与$get_token
进行比较。如果它不在数据库中,那么它应该添加到值为$string
的数据库。
我已经写了这段代码。
if(strcmp($string , $get_token) !=0){
//add to DB
}
如何将我的字符串与已存在于数据库中的每个字符串进行比较。
谢谢
答案 0 :(得分:2)
如果您使用的是模型,则可以运行以下代码:
$token = str_random(20); //makes an random string with 20 characters
//select all tokens in the User model where token = $token and count it
$get_token = User::where('token', $token)->count(); //laravel returns an integer
if($get_token == 0) {
//the token doesn't exist
//Run the create token code
} else {
//Token exist
}
希望这有效!
什么是型号?
Laravel附带的Eloquent ORM提供了一个美丽,简单的 用于处理数据库的ActiveRecord实现。每 数据库表具有相应的“模型”,用于交互 那张桌子。模型允许您查询表中的数据,如 以及在表格中插入新记录。
答案 1 :(得分:0)
如果$string
没有退出,您可以在数据库中进行检查,然后您可以插入数据库。
看一下以下代码:
$string = str_random(20);
$get_token = DB::table('users')->where('token', '=', $string)->first();// get first record for that database.
if(empty($get_token->token))
{
//if token not exit in database insert it into database.
DB::table('users')->insert(
array('token' =>$string )
);
}