Мое приложение - это CMS, предназначенная для веб-сайтов для предприятий. У меня есть таблица с именем business_info который выглядит следующим образом:Эластичная передовая практика для таблицы типов ключей и значений
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
Я не думаю, что текущая Eloquent модель будет работать эффективно управлять этой информацией, так что я расширил его и начал работать на более полезную модель. Я хотел бы быть в состоянии сделать что-то вроде:
$business_info->zip = "66666";
$business_info->save();
Это то, что я до сих пор, но я не знаю, как поступить:
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)
{
}
}
Возможно, кто-то может предложить несколько советов о том, как действовать или, возможно, другой подход? Благодаря!
В laravel 5 Я получаю исключение «BadMethodCallException», «Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: set_attribute()». Является ли это релевантным для laravel 5. Если не так, как это сделать в laravel 5? –