| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Builder;
- use Illuminate\Foundation\Auth\User as Authenticatable;
- use Illuminate\Notifications\Notifiable;
- use Laravel\Sanctum\HasApiTokens;
- /**
- * Admin
- * @mixin Builder
- * @method static Builder|static where($column, $operator = null, $value = null, $boolean = 'and')
- */
- class Prediction extends Authenticatable
- {
- use HasApiTokens, Notifiable;
- protected $table = 'prediction';
- protected $hidden = ['created_at'];
- protected $fillable = ['issue_no', 'size', 'odd_or_even', 'is_valid', 'winning_numbers'];
- //预测
- static function prediction($issueNo)
- {
- $size = mt_rand(0, 1);
- $oddOrEven = mt_rand(0, 1);
- return static::create([
- 'issue_no' => $issueNo,
- 'size' => $size,
- 'odd_or_even' => $oddOrEven
- ]);
- }
- //预测结果
- static function result($issueNo, $size, $oddOrEven, $winningNumbers)
- {
- $data = static::where('issue_no', $issueNo)->first();
- $size = $size == '大' ? 1 : 0;
- $oddOrEven = $oddOrEven == '双' ? 1 : 0;
- $data->is_valid = 0;
- if ($data->size == $size || $data->odd_or_even == $oddOrEven) {
- $data->is_valid = 1;
- }
- $data->winning_numbers = $winningNumbers;
- $data->save();
- }
- function getWinningNumbersAttribute($value)
- {
- if (!empty($value)) {
- $value = explode(',', $value);
- $value = array_map('intval', $value);
- $value[] = array_sum($value);
- return $value;
- }
- return [];
- }
- }
|