예제 #1
0
파일: univ.php 프로젝트: hellopsm/robot
 /**
  * @param        $insName
  * @param        $vals
  * @param string $kvTablePrefix
  * @param string $tKTablePrefix
  *
  * @return array
  */
 function newIns($insName, $vals, $withKvs = true, $kvTablePrefix = 'Kv', $tKTablePrefix = 'TK')
 {
     $ins = M($insName);
     $ins->fill($vals);
     $r = $ins->save();
     $ins->touch();
     if ($r) {
         if ($withKvs) {
             $kvIns = kvIns($insName);
             $tkIns = tkIns($insName);
             $primaryKey = $insName . '_id';
             $dataToKv = [];
             $allTk = $tkIns->get();
             //            dd($allTk->toArray());
             switch ($insName) {
                 case 'user':
                     foreach ($allTk as $tk) {
                         $dataToKv[] = ['k' => $tk->type_name, 'v' => '', $primaryKey => $ins->{$primaryKey}, 'datatype' => $tk->datatype, 't_group_id' => $tk->group_id, 'status_id' => $tk->status_id];
                     }
                     break;
                 default:
                     foreach ($allTk as $tk) {
                         $dataToKv[] = ['k' => $tk->type_name, 'v' => '', $primaryKey => $ins->{$primaryKey}];
                     }
                     break;
             }
             $rr = $kvIns->insert($dataToKv);
             if ($rr) {
                 return ss($ins);
             }
             return ee('db_insert_failed');
             dd($allTk);
         }
     }
     return $r ? ss($ins) : ee(1);
 }
예제 #2
0
파일: db.php 프로젝트: newset/robot
 function k_exists($ins_name, $k_name, $v)
 {
     $ins = kvIns($ins_name);
     $cond = [d('db.key_name') => $k_name, d('db.value_name') => $v];
     return $ins->where($cond)->exists();
 }