response.js с отношениями Laravel - PullRequest
0 голосов
/ 02 октября 2018

эта ошибка произошла, когда я добавляю имя компании к клиенту

{client.company.name} в представлении

Uncaught TypeError: Невозможно прочитать свойство 'name' из null

что я могу сделать, чтобы решить эту ошибку

в CompanyController

public function index(request $request)
    {

        $clients = $this->client->with('company')->orderBy('date_created','DESC');

        if($request->search){
            $clients = $clients->where(function($query) use($request){          
                $query->where('client_id', $request->search);
                $query->orWhere('first_name', 'LIKE', '%' . $request->search . '%');
                $query->orWhere('contact_phone',$request->search);
            });
        }
        // applay pagination on clients list
        $clients = $clients->paginate(10);
        // get all clients 
        return response()->json($clients);
    }

в представлении:

constructor(props)
    {
        super(props);
        this.state={
            loading : true,
            clients:[],
            search    : '',
            page      : 1,
            total     : 0,
            pageCount : 0,
        };
        this.handleChangeSearch   = this.handleChangeSearch.bind(this);
        this.handleSubmit         = this.handleSubmit.bind(this);
        this.handlePageChange     = this.handlePageChange.bind(this);
    }

в render ()

<tbody>
     { 
        this.state.clients.map(function(client, i){
           return(
             <tr key={i}>
              <td><Link to={`/clients/${client.client_id}`}>{client.client_id}</Link></td>
              <td>{client.name }</td>
              <td>{client.email_address }</td>
              <td>{client.contact_phone }</td>
              <td>{client.date_created }</td>
              <td>{client.company.name}</td>
            </tr>);
          })
         }
  </tbody>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...