В Laravel для получения данных из одной таблицы, используя внешний ключ, вы можете воспользоваться мощными возможностями ORM (Object-Relational Mapping) Eloquent.
Для того чтобы вытащить данные из другой таблицы с использованием внешнего ключа, вам потребуется две модели - одна модель, представляющая таблицу, из которой вы хотите получить данные (назовем ее "Parent"), и другая модель, представляющая таблицу, которую вы хотите получить (назовем ее "Child").
Предположим, у вас есть таблицы "parents" и "children", и между ними существует связь, определенная внешним ключом "parent_id" в таблице "children".
1. Сначала вам нужно создать модели для каждой таблицы, используя команду Artisan:
php artisan make:model Parent php artisan make:model Child
2. В модели "Parent" добавьте следующий код, чтобы определить отношение с моделью "Child":
public function children() { return $this->hasMany('AppModelsChild', 'parent_id'); }
3. В модели "Child" добавьте следующий код, чтобы определить обратное отношение к модели "Parent":
public function parent() { return $this->belongsTo('AppModelsParent', 'parent_id'); }
4. Теперь вы можете использовать полученные отношения для получения данных из таблицы "children", связанных с определенной строкой в таблице "parents". Например, чтобы получить все дочерние записи для определенного родителя, вы можете выполнить следующий код:
$parent = Parent::find($parentId); $children = $parent->children;
5. Теперь у вас есть доступ к данным из таблицы "children", связанным с родительской записью, и вы можете делать с ними все, что вам нужно. Например, вы можете перебрать все дочерние записи и получить их значения:
foreach ($children as $child) { $childName = $child->name; // Делайте что-то с $childName... }
Таким образом, с помощью моделей и отношений в Laravel вы можете удобно получать данные из одной таблицы MySQL, используя внешний ключ для связи с другой таблицей. Это делает работу с базами данных в Laravel гораздо проще и эффективнее.