Laravel объединение в несколько таблиц: как объединить две таблицы со всеми столбцами, кроме одного - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть две таблицы с более чем 100 столбцами. Я хочу объединить две таблицы со всеми столбцами, кроме одного столбца.


$ агенты = агенты :: соединение ("города", "города.ид", "город_идентификатор) -> выбрать (" агенты. * ',' towns.name as city ') -> get ();


. , Теперь присоединяйтесь к таблице всех агентов, но я не хочу egents.user_id

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Использование make скрытого массива в модели - это хорошо, спрячьте свой столбец от сериализации, где вам нужно, с помощью функции makeHidden, например:

$agents = agents::where('your query')->get();
$agents ->makeHidden(['user_id']);
return response()->json($agents);

Надеюсь, вам понравится

0 голосов
/ 30 апреля 2020

Могу ли я узнать содержание таблицы? Например:

Если laravel, я бы go хотел бы:

DB::table('users')
->select('users.*','profiles.photo', 'profiles.one_by_one')
->join('profiles','profiles.id','=','users.id')
->where(['something' => 'something', 'otherThing' => 'otherThing'])
->get();

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

ИЛИ

Вы можете попробовать это

DB::table('users')
->select('users.*','profiles.*')

->except('users.id')
OR
->exclude('users.id')

->join('profiles','profiles.id','=','users.id')
->where(['something' => 'something', 'otherThing' => 'otherThing'])
->get();

Пожалуйста, проверьте это

ИЛИ

В вашей модели laravel, добавьте это к вашей модели не хочу видеть определенный столбец.

protected $hidden = array('column_you_dont_want_to_see');
...