46 lines
1.6 KiB
PHP
46 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\NftModel;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
|
class NftController extends Controller
|
|
{
|
|
//
|
|
public function index(Request $request)
|
|
{
|
|
$size = $request->get('size', 10);
|
|
$map = function (Builder $builder) use ($request) {
|
|
|
|
if ($request->has('token_id')&& ! empty($request->input('token_id'))){
|
|
$builder->where('token_id',$request->input('token_id'));
|
|
}
|
|
if ($request->has('creator')&& ! empty($request->input('creator'))){
|
|
$builder->where('creator_address',$request->input('creator'));
|
|
}
|
|
if ($request->has('owner')&& ! empty($request->input('owner'))){
|
|
$builder->where('owner_address', $request->input('owner'));
|
|
}
|
|
if($request->has('time')&& ! empty($request->input('time')[0] && !empty($request->input('time')[1]))){
|
|
$start = strtotime($request->input('time')[0]);
|
|
$end = strtotime($request->input('time')[1]);
|
|
$builder->whereBetween('createtime',[$start,$end]);
|
|
}
|
|
|
|
};
|
|
$data = NftModel::where($map)->orderBy('idx','desc')->paginate($size)->toArray();
|
|
return $this->success($data);
|
|
}
|
|
|
|
public function show(Request $request){
|
|
if (! $request->get('idx')){
|
|
return $this->error(ERROR_CODE_PARAM_INVALID,'缺少参数');
|
|
}
|
|
$data = NftModel::with('nftTransfer')->where('idx',$request->get('idx'))->first()->toArray();
|
|
return $this->success($data);
|
|
}
|
|
|
|
}
|