У меня проблемы с получением значения массива в модели. Итак, у меня есть модель с полем повторителя. теперь я пытаюсь получить доступ к значению этого поля повторителя из другой модели.
вот что я сделал ..
ОБНОВЛЕНО
fields.yaml в модели WartaDataProfil
fields:
visimisi:
label: 'Visi Misi'
---
jdwlibdh:
label: 'Jadwal'
oc.commentPosition: ''
prompt: 'add'
maxItems: '7'
span: full
type: repeater
form:
fields:
jeniskeb:
label: 'Jenis'
---
jamibdh:
label: 'Jam'
---
kategori:
label: 'Kategori'
type: dropdown
options:
Umum/Raya: Umum/Raya
Komisi/Kategorial: Komisi/Kategorial
название модели WartaDataProfil
class WartaDataProfil extends Model
{
use \October\Rain\Database\Traits\Validation;
public $timestamps = false;
public $rules = [
];
public $table = 'mismaiti_mywarta_profil';
protected $jsonable = ['pdtjmt','jdwlibdh','komisi','bidang'];
public $attachOne = [
'logogereja' => 'System\Models\File',
'logomywarta' => 'System\Models\File'
];
}
я хочу получить данные из поля 'jeniskeb' в WartaDataProfil для использования в другой модели (скажем, модель WartaRutin) в виде раскрывающихся опций в одном из полей, поэтому я пишу их на модели WartaRutin
fields.yaml в модели WartaRutin
tabs:
fields:
tanggal:
label: Tanggal
mode: date
format: 'd - F - Y'
span: storm
cssClass: col-sm-4 col-sm-push-0
type: datepicker
tab: 'Minggu Ini'
kebum:
label: ''
prompt: 'Tambah Data'
maxItems: '3'
type: repeater
tab: 'Minggu Ini'
form:
fields:
jeniskeb:
label: 'Kebaktian'
---
type: dropdown
options: jenisKeb
khotbah:
label: Pengkhotbah
---
type: text
это модель WartaRutin (обновлена решением @HardikSatsiya)
class WartaRutin extends Model
{
use \October\Rain\Database\Traits\Validation;
use \October\Rain\Database\Traits\SoftDelete;
protected $dates = ['deleted_at'];
public $rules = [ ];
public $table = 'mismaiti_mywarta_rutin';
protected $jsonable = ['temakebum','rankhot','kebum','kebkom','bngmbr'];
public function jenisKeb(){
$jdwlibdh = WartaDataProfil::pluck('jdwlibdh');
$jenkebOptions= [''];
foreach($jdwlibdh as $item) {
// json decoding
$decoded = json_decode($item, true);
print(dd($decoded));
// manually filtering
if($decoded['kategori'] == 'Umum/Raya') {
$jenkebOptions[$decoded['jeniskeb']] = $decoded['jeniskeb'];
}
}
return $jenkebOptions;
}
Решение @HardikSatasiya возвращает ошибку
Неопределенный индекс: kategori
print (dd ($ decoded)) результат
array:7 [▼
0 => array:3 [▼
"jeniskeb" => "Kebaktian Umum 1"
"jamibdh" => "07.00 WIB"
"kategori" => "Umum/Raya"
]
1 => array:3 [▼
"jeniskeb" => "Kebaktian Umum 2"
"jamibdh" => "09.00 WIB"
"kategori" => "Umum/Raya"
]
2 => array:3 [▼
"jeniskeb" => "Kebaktian Umum 3"
"jamibdh" => "18.00 WIB"
"kategori" => "Umum/Raya"
]
3 => array:3 [▼
"jeniskeb" => "Kebaktian Pemuda"
"jamibdh" => "09.30 WIB"
"kategori" => "Komisi/Kategorial"
]
4 => array:3 [▼
"jeniskeb" => "Kebaktian Remaja"
"jamibdh" => "09.30 WIB"
"kategori" => "Komisi/Kategorial"
]
5 => array:3 [▼
"jeniskeb" => "Kebaktian Tunas Remaja"
"jamibdh" => "09.30 WIB"
"kategori" => "Komisi/Kategorial"
]
6 => array:3 [▼
"jeniskeb" => "Kebaktian Anak"
"jamibdh" => "09.30 WIB"
"kategori" => "Komisi/Kategorial"
]
]