通过多个条件对数组进行判断
##一个二维数组通过 一个数组几个条件来判断 [‘gender’ => ‘女’,‘name’ => ‘王向玉’]
DB::('users')->limit(10)->get(); 查询一个数组包对象
foreach ($list as $item) {
foreach ($keyValueArray as $k => $val) {
if ($item->$k == $val) {
如果list数组里面的键值等于转过来的那么就。。。。。。
}
}
}
事务回滚
public function index()
{
// handle里面有try捕获异常,当不成功的时候直接抛出异常就可以回滚了因为异常里面写有回滚代码
TransactionService::handle(function () use ($param) {
result=newUsersModel();if(UserController::isNotEmpty(result = new UsersModel();
if (UserController::isNotEmpty(result=newUsersModel();if(UserController::isNotEmpty(param, ‘name’))
result−>setname(result->setname(result−>setname(param[‘name’]);
if (UserController::isNotEmpty($param, ‘sex’))
result−>settsex(result->settsex(result−>settsex(param[‘sex’]);
$arr = $result->save();
$dataarr = [‘name’=>‘广州’];
updatearr=UsersModel::query()−>where(′id′,11)−>update(updatearr = UsersModel::query()->where('id',11)->update(updatearr=UsersModel::query()−>where(′id′,11)−>update(dataarr);
if (!updatearr∣∣!updatearr || !updatearr∣∣!arr) {
throw new BusinessException(‘此次修改无效’);
}
});
}
/**
- 封装好的事务回滚方法
*/
use Closure;
use Exception;
use Illuminate\Support\Facades\DB;
class TransactionService
{
/**
* 事务操作封装
* @param Closure $handle 事务操作
* @return mixed
* @throws Exception
*/
static public function handle(Closure $handle) {
DB::beginTransaction();
$result = null;
try {
$result = $handle();
DB::commit();
} catch (Exception $exception) {
DB::rollBack();
throw $exception;
}
return $result;
}
}
这篇博客讲述了如何在PHP中使用事务处理进行数据库操作,包括查询、更新和保存数据。通过多重循环和条件判断,确保数据的正确匹配和更新。在遇到错误时,利用异常处理进行事务回滚,保证数据一致性。
432

被折叠的 条评论
为什么被折叠?



