belongsTo('\App\Team'); } public function player() { return $this->belongsTo('\App\Player'); } public function mission() { return $this->belongsTo('\App\Mission'); } public function transit_line() { return $this->belongsTo('\App\TransitLine', 'm1_transit_line_id'); } public function transit_center() { return $this->belongsTo('\App\TransitCenter', 'm2_transit_center_id'); } public function document() { return $this->belongsTo('\App\Document', 'm7_document_id'); } public static function claimed_timeout() { // time out tweets if they aren't processed after the specified time $timeout = 520; $tweets = Tweet::where('claimed_at', '<', date('Y-m-d H:i:s', time()-$timeout))->where('processed', 0)->get(); foreach($tweets as $tweet) { $tweet->claimed_at = null; $tweet->save(); event(new NewTweetEvent($tweet)); } } public static function queued() { return Tweet::whereNull('claimed_at')->where('processed', 0) ->where('mission_id', '>', 0)->orderBy('tweet_date', 'asc'); } }