通过多个条件对数组进行判断
##一个二维数组通过 一个数组几个条件来判断 [‘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) {
r
e
s
u
l
t
=
n
e
w
U
s
e
r
s
M
o
d
e
l
(
)
;
i
f
(
U
s
e
r
C
o
n
t
r
o
l
l
e
r
:
:
i
s
N
o
t
E
m
p
t
y
(
result = new UsersModel(); if (UserController::isNotEmpty(
result=newUsersModel();if(UserController::isNotEmpty(param, ‘name’))
r
e
s
u
l
t
−
>
s
e
t
n
a
m
e
(
result->setname(
result−>setname(param[‘name’]);
if (UserController::isNotEmpty($param, ‘sex’))
r
e
s
u
l
t
−
>
s
e
t
t
s
e
x
(
result->settsex(
result−>settsex(param[‘sex’]);
$arr = $result->save();
$dataarr = [‘name’=>‘广州’];
u
p
d
a
t
e
a
r
r
=
U
s
e
r
s
M
o
d
e
l
:
:
q
u
e
r
y
(
)
−
>
w
h
e
r
e
(
′
i
d
′
,
11
)
−
>
u
p
d
a
t
e
(
updatearr = UsersModel::query()->where('id',11)->update(
updatearr=UsersModel::query()−>where(′id′,11)−>update(dataarr);
if (!
u
p
d
a
t
e
a
r
r
∣
∣
!
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;
}
}