<?php
namespace CoreBundle\Entity;
use FOS\UserBundle\Model\User;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table("session_student_difficulty")
* @ORM\Entity()
*/
class SessionStudentDifficulty
{
const DEFAULT_DIFFICULTY = 3;
const TYPE_TRAINING = 1;
CONST TYPE_HOMEWORK = 2;
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var User
*
* @ORM\ManyToOne(targetEntity="UserBundle\Entity\User",fetch="EAGER")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $student;
/**
* 1 - training
* 2 - homework
*
* @ORM\Column(name="type", type="integer")
*/
private $type;
/**
* @var Session
*
* @ORM\ManyToOne(targetEntity="CoreBundle\Entity\Session")
* @ORM\JoinColumn(name="session_id", referencedColumnName="id", nullable=true, onDelete="CASCADE")
*/
private $session;
/**
* @var Homework
*
* @ORM\ManyToOne(targetEntity="CoreBundle\Entity\Homework")
* @ORM\JoinColumn(name="homework_id", referencedColumnName="id", nullable=true, onDelete="CASCADE")
*/
private $homework;
/**
* @ORM\Column(name="difficulty", type="integer")
*/
private $difficulty = self::DEFAULT_DIFFICULTY;
/**
* @ORM\Column(name="consecutive_correct_answers", type="integer")
*/
private $consecutiveCorrectAnswers = 0;
/**
* @ORM\Column(name="repetition_flag", type="smallint", nullable=true, options={"default"=0})
*/
private $repetitionFlag = 0;
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return User
*/
public function getStudent(): User
{
return $this->student;
}
/**
* @param User $student
*/
public function setStudent(User $student): void
{
$this->student = $student;
}
/**
* @return mixed
*/
public function getType()
{
return $this->type;
}
/**
* @param mixed $type
*/
public function setType($type): void
{
$this->type = $type;
}
/**
* @return Session
*/
public function getSession(): Session
{
return $this->session;
}
/**
* @param Session $session
*/
public function setSession(Session $session): void
{
$this->session = $session;
}
/**
* @return Homework
*/
public function getHomework(): Homework
{
return $this->homework;
}
/**
* @param Homework $homework
*/
public function setHomework(Homework $homework): void
{
$this->homework = $homework;
}
/**
* @return int
*/
public function getDifficulty(): int
{
return $this->difficulty;
}
/**
* @param int $difficulty
*/
public function setDifficulty(int $difficulty): void
{
$this->difficulty = $difficulty;
}
/**
* @return int
*/
public function getConsecutiveCorrectAnswers(): int
{
return $this->consecutiveCorrectAnswers;
}
/**
* @param int $consecutiveCorrectAnswers
*/
public function setConsecutiveCorrectAnswers(int $consecutiveCorrectAnswers): void
{
$this->consecutiveCorrectAnswers = $consecutiveCorrectAnswers;
}
/**
* @return int
*/
public function getRepetitionFlag(): int
{
return $this->repetitionFlag;
}
/**
* @param int $repetitionFlag
*/
public function setRepetitionFlag(int $repetitionFlag): void
{
$this->repetitionFlag = $repetitionFlag;
}
}