这里是我的表,用户是经典的Auth表:
DataTypes
+----+--------------+
| id | field |
+----+--------------+
| 1 | address |
| 2 | mobile_phone |
| 3 | city |
+----+--------------+
UserData
+----+----------+--------------+---------+
| id | value | data_type_id | user_id |
+----+----------+--------------+---------+
| 1 | Milan | 3 | 1 |
| 2 | 99123233 | 2 | 1 |
+----+----------+--------------+---------+
我当前的疯狂模特:
class User extends Authenticatable {
public function field($field){
$field=DataType::where('field',$field)->first();
return $this->hasMany('App\UserData')->where('datatype_id',(isset($field->id) ? $field->id : 0));
}
}
当然,当我必须找到值时,它可以很好地工作:
auth()->user()->field('mobile_phone')->get();
但是如何设置或更新新手机?
auth()->user()->field('mobile_phone')->save([
'field' => 'value'
])