Ứng dụng của tôi là một CMS dành cho các trang web dành cho doanh nghiệp. Tôi có một bảng gọi là business_info trông như thế này:Thực hành tốt nhất cho bảng loại cặp khóa/giá trị
id | field | value
-----------------------------------------
1 | name | Testing Company
2 | official name | Testing Company LLC
3 | main_location | The Bay Area
4 | year | 1999
5 | address | 55 Street Rd
6 | suite | Unit 5
7 | city | Anytown
8 | state | CA
9 | zip | 55555
10 | tollfree | 1(888) 555-5555
Tôi không nghĩ rằng mô hình hùng biện hiện nay sẽ làm việc để quản lý hiệu quả thông tin này, vì vậy tôi mở rộng nó và bắt đầu làm việc trên một mô hình hữu ích hơn. Tôi muốn để có thể làm điều gì đó như:
$business_info->zip = "66666";
$business_info->save();
Đây là những gì tôi có cho đến nay, nhưng tôi không chắc chắn làm thế nào để tiến hành:
class Business_Info extends Eloquent
{
public static $table = 'business_info';
public static function all()
{
$business_info_rows = with(new static)->query()->get();
foreach ($business_info_rows as $business_info_row)
{
$business_info[$business_info_row->attributes['field']] = $business_info_row->attributes['value'];
}
return $business_info;
}
public function __set($key, $value)
{
}
}
Có lẽ ai đó có thể cung cấp một số lời khuyên về cách tiến hành hoặc có lẽ cách tiếp cận khác? Cảm ơn!
Trong laravel 5, tôi nhận được ngoại lệ 'BadMethodCallException', 'Gọi đến phương thức undefined Illuminate \ Database \ Query \ Builder :: set_attribute()'. Đây có phải là liên quan cho laravel 5. nếu không làm thế nào để làm điều này trong laravel 5? –