1
ページを保存する前に余分な属性を設定し、私はこのようなフィールドを持っている:Laravelリュック - 私の<strong>PageTemplates.php</strong>で
$this->crud->addField([
'name' => 'adres',
'label' => 'Adres',
'type' => 'address',
'fake' => true,
]);
今、私は緯度と経度にものを保存したいです(それは見つけることができるならば)彼らが与えるアドレス。私はPageCrudControllerをコピーし、/バックパック/ pagemanager.phpに設定で設定を変更しました:
public function store(StoreRequest $request)
{
$address = $request->request->get('adres');
$addressObj = app('geocoder')->geocode($address)->get()->first();
if($addressObj)
{
}
$this->addDefaultPageFields(\Request::input('template'));
$this->useTemplate(\Request::input('template'));
return parent::storeCrud();
}
しかし、どのような操作を行います。私は私の店機能で
return [
'admin_controller_class' => 'App\Http\Controllers\Admin\PageCrudController',
'page_model_class' => 'App\Models\Page',
];
私はif文に入れますか?どのように私は自分のデータベースに余分なフィールドに(=セット)余分なフィールドを追加することができますか?
を非表示フィールドとして緯度と経度追加:parent::updateCrud($request);
に
if($addressObj)
{
$request['latitude'] = $addressObj->getCoordinates()->getLatitude();
$request['longitude'] = $addressObj->getCoordinates()->getLongitude();
}
}
変更parent::updateCrud
:次の手順を実行して
$this->crud->addField([
'name' => 'latitude',
'type' => 'hidden',
'fake' => true,
]);
$this->crud->addField([
'name' => 'longitude',
'type' => 'hidden',
'fake' => true,
]);
セットの属性を次のようにして、それを修正
次のようにしてください。if($ addressObj) { $ request-> latitude = '23 .5 '; $要求 - >緯度は= '40 0.5' ; } ' – C2486
あなたがコメントし、上記のようにしてみてくださいましたか? – C2486
@ user2486、試しましたが動作しません。そこに保存されていません。これは他のフィールドでも機能しません。 – nielsv