Tôi có một setter tùy chỉnh mà tôi đang chạy trong một phương pháp __construct
trên mô hình của tôi.Một __construct trên một mô hình Eloquent Laravel
Đây là tài sản tôi muốn đặt.
protected $directory;
My Constructor
public function __construct()
{
$this->directory = $this->setDirectory();
}
Các setter:
public function setDirectory()
{
if(!is_null($this->student_id)){
return $this->student_id;
}else{
return 'applicant_' . $this->applicant_id;
}
}
Vấn đề của tôi là bên trong setter của tôi, $this->student_id
(đó là một thuộc tính của mô hình được kéo ra từ cơ sở dữ liệu) đang quay trở lại null
. Khi tôi dd($this)
từ bên trong thiết lập của tôi, tôi nhận thấy rằng #attributes:[]
của tôi là một mảng trống.
Vì vậy, các thuộc tính của mô hình không được đặt cho đến sau khi __construct()
được kích hoạt. Làm cách nào để tôi có thể đặt thuộc tính $directory
trong phương pháp xây dựng của mình?
Đó chính xác là những gì tôi cần !! Cảm ơn bạn –