Массив в преобразование струн в моделях Laravel 11Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Массив в преобразование струн в моделях Laravel 11

Сообщение Anonymous »

У меня проблема с моими отношениями в модели, используя композитный ключ. Я использую пакет TiAgoprz \ CompositeKey \ HascompositeKey. Если я использую только один ключ для отношений в моделях, у меня нет проблем. Я также хочу спросить, является ли какое правильное использование для контроллеров. Вот мой текущий контроллер < /p>
Вот что я получил от отладки от Php Tinker < /p>
public function index(Request $request)
{
try {
$crse_id = $request->input('crse_id');
$crse_offer_nbr = $request->input('crse_offer_nbr');
$strm = $request->input('strm');
$session_code = $request->input('session_code');
$class_section = $request->input('class_section');

$classData = ClassTbl::with([
'classChrstc',
'institution:institution,descr',
'termTable:strm,descr',
'academicSubject:subject'
])
->where('crse_id', $crse_id)
->where('crse_offer_nbr', $crse_offer_nbr)
->where('strm', $strm)
->where('session_code', $session_code)
->where('class_section', $class_section)
->first();

if (!$classData) {
return response()->json([
'success' => false,
'message' => 'Class data not found.'
], 404);
}

return response()->json([
'success' => true,
'data' => $classData,
'message' => 'Class data retrieved successfully.'
]);

} catch (Exception $e) {
return response()->json([
'success' => false,
'message' => 'Failed to retrieve class data.',
'error' => $e->getMessage()
], 500);
}
}
< /code>
public function classTbl()
{
return $this->belongsTo(ClassTbl::class, 'crse_id', 'crse_id')
->whereColumn('class_tbl.crse_offer_nbr', 'class_chrstcs.crse_offer_nbr')
->whereColumn('class_tbl.strm', 'class_chrstcs.strm')
->whereColumn('class_tbl.session_code', 'class_chrstcs.session_code')
->whereColumn('class_tbl.class_section', 'class_chrstcs.class_section');
}
< /code>
public function classChrstc()
{
return $this->hasMany(ClassChrstc::class, 'crse_id', 'crse_id')
->whereColumn('class_chrstcs.crse_offer_nbr', 'class_tbl.crse_offer_nbr')
->whereColumn('class_chrstcs.strm', 'class_tbl.strm')
->whereColumn('class_chrstcs.session_code', 'class_tbl.session_code')
->whereColumn('class_chrstcs.class_section', 'class_tbl.class_section');
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... -11-models
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»