Я работаю над веб-сайтом в Laravel, где мы поняли, что мы хотим создать матрицу, в которой строки содержат идентификаторы покупателей, а столбцы содержат идентификаторы продавцов. Каждый пользователь на этом сайте является одновременно покупателем и продавцом. И в каждой ячейке (покупатель, продавец) содержится количество, которое покупатель купил у соответствующего продавца. Эта матрица упорядочена так, что покупатель в 7-й строке также является продавцом в 7-м столбце, и она также должна быть динамической в том смысле, что покупатель и продавец могут быть добавлены или удалены. Я новичок в SQL и красноречив, так как я могу это создать?


Не надо!
Используйте отношения многие ко многим в таблице Users, чтобы понять это. Вы можете использовать первичный ключ в таблице, состоящей из buyer_id и seller_id, чтобы предотвратить дублирование. И вы можете добавить дополнительное поле в сводную таблицу, чтобы отслеживать количество.
Структура базы данных вашего приложения никогда не должна изменяться из-за данных.
Я новичок в Laravel, и этот синтаксис hasOne и hasMany сбивает меня с толку. Я объясню свои рассуждения относительно того, почему я подумал, что мне нужна квадратная матрица, чтобы, возможно, вы могли видеть, откуда я. В каждой ячейке таблицы содержится квадратный корень из накопленного количества, купленного покупателем у продавца. Следовательно, каждый раз, когда покупатель снова покупает у продавца, это новое накопленное количество необходимо будет пересчитывать. Мы думали, что, используя квадратную матрицу, мы можем легко запросить эту ячейку, пересчитать данные и легко передать данные этой ячейки в файл представления.